小编典典

Java类路径问题

java

我有两节课:

MyApplication

该库已被编译为Library.class,并且源代码不再可用。我现在正在尝试从源代码编译MyApplication。MyApplication取决于库。该库的软件包名称为org.myCompany。我尝试将我的类路径设置为以下内容:

set CLASSPATH=C:\java\project\org\myCompany\Library.class;.

产生以下javac编译器错误消息:

MyApplication.java:33: cannot find symbol
symbol: class Library
location: class MyApplication
          Library theLibrary = new Library();

所以我将类路径更改为:

set CLASSPATH=C:\java\project\;.

产生完全相同的错误消息。

如何设置Windows类路径以包含Library.class文件?是否应该指向包含org \
myCompany子文件夹的文件夹?还是直接指向类文件?还是到包含类文件的文件夹中(即使该类在一个包中并且属于一个子文件夹)?

我在设置命令后执行了echo%CLASSPATH%,并且正确设置了类路径。我还制作了一个ant build.xml文件,并遇到了同样的问题。实际上,ant
-verbose确认我的类路径已正确设置。


阅读 234

收藏
2020-11-30

共1个答案

小编典典

您不能像这样在类路径中添加单个类。您有3个解决方案:

  • 在其他已编译类的路径中添加此类(注意目录的包命名)
  • 在您的类路径中添加此类的根目录(在您的情况下为“ C:\ java \ project \”)
  • 将此单个类添加到jar中,然后将此jar添加到classpath中

对于您的问题,第三选择更干净:通常将外部依赖项打包到jar文件中。

2020-11-30