找不到包;Java语言

nee*_*ebz 5 java javac

真烦人

我有这样的目录结构

-lib
   --some jar files

-packageName
   --Main.java
   --SomeOtherPackage
      --SomeOtherJavaClass.java
Run Code Online (Sandbox Code Playgroud)

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

我要做的是将jar文件独立添加到CLASSPATH中。然后以:javac packageName / Main.java运行

但是它给出了找不到Package的错误SomeOtherPackage。它不应该自动实现依赖关系并进行构建SomeOtherPackage吗?在上述情况下,javac命令和类路径是什么?

谢谢

Bal*_*usC 6

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

当您已经在包根目录中时,请使用-cp .. 例如

cd /path/to/all/packages
javac -cp . packageName/Main.java
Run Code Online (Sandbox Code Playgroud)

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

javac -cp .;lib/file.jar packageName/Main.java
Run Code Online (Sandbox Code Playgroud)

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