How to compile java code that import classes from different directory?

I am stock this problem for a while. And finally I find my anser via follwing link:
http://stackoverflow.com/questions/631682/help-with-packages-in-java-import-does-not-work


Okay, just to clarify things that have already been posted.
You should have the directory com, containing the directory company, containing the directoryexample, containing the file MyClass.java.
From the folder containing com, run:
$ javac com\company\example\MyClass.java
Then:
$ java com.company.example.MyClass
Hello from MyClass!
These must both be done from the root of the source tree. Otherwise, javac and java won't be able to find any other packages (in fact, java wouldn't even be able to run MyClass).

A short example

I created the folders "testpackage" and "testpackage2". Inside testpackage, I created TestPackageClass.java containing the following code:
package testpackage;

import testpackage2.MyClass;

public class TestPackageClass {
    public static void main(String[] args) {
        System.out.println("Hello from testpackage.TestPackageClass!");
        System.out.println("Now accessing " + MyClass.NAME);
    }
}
Inside testpackage2, I created MyClass.java containing the following code:
package testpackage2;
public class MyClass {
    public static String NAME = "testpackage2.MyClass";
}
From the directory containing the two new folders, I ran:
C:\examples>javac testpackage\*.java

C:\examples>javac testpackage2\*.java
Then:
C:\examples>java testpackage.TestPackageClass
Hello from testpackage.TestPackageClass!
Now accessing testpackage2.MyClass
Does that make things any clearer?

留言

這個網誌中的熱門文章

IR的解碼編碼

檔案權限設定