找不到包裹; javac的

时间:2010-06-14 23:06:18

标签: java javac

这很烦人。

我有一个像这样的目录结构

-lib
   --some jar files

-packageName
   --Main.java
   --SomeOtherPackage
      --SomeOtherJavaClass.java

Main.java导入SomeOtherPackage。两个java文件都使用lib中的jar。

我所做的是在CLASSPATH中独立添加jar文件。然后运行为: javac packageName / Main.java

但是它给出了找不到包的错误SomeOtherPackage。它不应该自动实现依赖并构建SomeOtherPackage吗?上述案例的javac命令和类路径是什么?

由于

2 个答案:

答案 0 :(得分:4)

通常的做法是将包根添加到类路径中。

当您已经在软件包根目录中时,请使用-cp .。 E.g。

cd /path/to/all/packages
javac -cp . packageName/Main.java

如果您还要包含JAR文件,请使用;(或* nix,:)作为类路径路径分隔符:

javac -cp .;lib/file.jar packageName/Main.java

要节省重复所有shell命令输入的时间,请使用.bat(或* nix a .sh)文件。或者只是一个IDE,如果你已经熟悉java / javac等等。

答案 1 :(得分:0)

您需要将packageName添加到CLASSPATH,以便它可以找到SomeOtherPackage