当前位置: 首页 > 面试题库 >

Java类路径问题

夹谷苗宣
2023-03-14
问题内容

我有两节课:

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确认我的类路径已正确设置。


问题答案:

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

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

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



 类似资料:
  • 问题内容: 我一直在尝试运行一个jar文件-我们称它为test.jar-在Unix系统上使用Sybase jconn3.jar。 我创建了一个具有以下内容的MANIFEST.MF文件: 这给出了ClassNotFoundError。$ SYBASE是指向/ opt / sybase13的系统变量;我还尝试了以下方法: 和 但是,如果我将jconn3.jar文件从$ SYBASE / jConnec

  • 我在设置Java开发环境时遇到了一个问题。在过去,我安装了Java,然后安装了IDE,然后开始编写代码。我现在开始设置我的笔记本电脑,使用命令行编译和记事本作为我的代码编辑器。这是我第一次尝试纠正错误。 我运行javac,它创建了我的。类文件没有问题,但是我尝试用java A运行类文件,它抛出了一个错误: c:\工作区 我的类路径设置为C:\Program Files\Java\jdk-14.0.

  • 问题内容: 我正在尝试重新编译我一直在研究的项目,并且在尝试加载属性文件时始终收到错误消息: 我想这与类路径有关。但是我已经在Properties-> Java build path-> Libraries(外部类)中将路径添加到文件中。我还检查了eclipse生成的.classpath文件,该路径确实存在! 为什么Eclipse找不到正确的路径? 问题答案: 有2个不同的类路径,构建类路径和运行

  • 问题内容: 我有一个Spring Boot应用程序,当我在本地使用“ mvn clean install”进行部署时,它运行良好,但是当通过Jenkin产生战争时,它会引发以下错误。 我只是尝试使用超越比较来比较2个war文件,而且除了用于编译的JDK次要版本外,我看不到任何差异。 我试图在我的本地版本和jenkin版本中搜索SerializationConfig.class, 以下命令的输出是:

  • 我在hadoop作业中看到了这一点: 这个问题看起来与这个问题类似,只是我没有在我的类路径上提供任何jax-b依赖项。然而,它看起来确实像hadoop。 有没有办法强迫hadoop使用jdk jaxb JAR,或者只使用它自己提供的jaxb JAR,而不是两者混合使用?

  • 这个问题并不是指在整个集群中分发jar供工作人员使用。 它指的是在客户端机器上指定一些额外的库。更具体地说:我试图运行以下命令来检索序列文件的内容: 它抛给我这个错误: 我有一个名为DoubleArrayWritable的可写类。事实上,在另一台计算机上,一切都运行良好。 我试图设置以包含包含该类的jar,但没有结果。实际上,跑步时: 结果不包含我添加到HADOOP_类路径中的jar。 问题是:如