如何根据另一个类和一些库编译Java类?
我的结构是这样的如何根据另一个类和一些库编译Java类?,java,classpath,javac,Java,Classpath,Javac,我的结构是这样的 \Project1 \src \pkg1 Main.java \pkg2 Auxillary.java \Destination \class \lib 我需要将Main.java编译成\Destination\class,Main.java在auxilary.java中有依赖项,在\lib中有jar 我在Project1目录中 我试过了 javac -cp Destination\lib\*;src\pkg2
\Project1
\src
\pkg1
Main.java
\pkg2
Auxillary.java
\Destination
\class
\lib
我需要将Main.java编译成\Destination\class,Main.java在auxilary.java中有依赖项,在\lib中有jar
我在Project1目录中
我试过了
javac -cp Destination\lib\*;src\pkg2\* -d Destination\class
但是,我得到了一个针对auxilary.java的包
我做错了什么?类路径项不能引用源目录。试试这个:
javac -Djava.ext.dirs=Destination\lib -d Destination\class
src\pkg1\Main.java src\pkg2\Auxiliary.java
i、 e.一次性编译所有源代码。或者:
javac -Djava.ext.dirs=Destination\lib -d Destination\class
src\pkg2\Auxiliary.java
javac -Djava.ext.dirs=Destination\lib -cp Destination\class
-d Destination\class src\pkg1\Main.java
这将首先编译Auxiliary.java,然后在编译Main.java时使用其目标目录作为类路径的一部分。您可以使用ant脚本简化这些步骤。试试看 嗯。类路径项不能引用源目录。-最好使用-sourcepath
,但如果没有设置,则类路径可以很好地查找源文件。我想在这种情况下,问题是kunjan确实指明了包目录而不是根目录(即src
)。当然,这里的*
也是错误的<代码>-cp目的地\lib\*;不过,src应该可以正常工作。