如何根据另一个类和一些库编译我的Java类?

时间:2010-07-15 21:10:40

标签: java classpath javac

我的结构看起来像这样

\Project1 
  \src
    \pkg1
      Main.java
    \pkg2
      Auxillary.java
  \Destination
    \class
    \lib

我需要编译Main.java,它在Auxillary.java中有依赖项,在\ lib中有jars到\ Destination \ class

我在Project1目录中。

我试过

javac -cp Destination\lib\*;src\pkg2\* -d Destination\class

但是,我得到了Auxillary.java的package not found

我做错了什么?

2 个答案:

答案 0 :(得分:2)

类路径条目不能引用目录。试试这个:

javac -Djava.ext.dirs=Destination\lib -d Destination\class
      src\pkg1\Main.java src\pkg2\Auxiliary.java

即。一次编译所有源代码。可替换地:

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时将其目标目录用作类路径的一部分。

答案 1 :(得分:0)

您可以使用ant脚本使这些步骤更简单。试试一次!