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

设置JAR的类路径

柳宏深
2023-03-14
问题内容

我有一个独立的Java项目。我已经执行了Maven全新安装。现在,我通过命令提示符进入target \
classes文件夹,并在classpath中设置所有必需的文件。现在我执行主类。结果正在显示。

现在,我通过命令提示符移回目标文件夹,并尝试执行jar文件(jar文件具有在其中定义了主类的清单文件)。

Java -cp %CLASSPATH% -jar Destination-01.19-SNAPSHOT.jar

现在,我得到以下异常。我也从上面的语句中删除了classpath属性,但仍然遇到相同的异常。所需的类在classpath变量中设置,这就是我无需使用-
jar属性即可运行主类的原因。

线程“主线程”中的异常java.lang.NoClassDefFoundError:org / apache / co mons / logging /
LogFactory


问题答案:

使用-jar此方法时,这是设置程序的类路径的唯一机制。

您必须在清单的Class-Path行中列出所有需要的jar(这意味着它们必须在本地文件系统中可以找到),或者创建一个能够定位所需jar的自定义类加载器。



 类似资料:
  • 我正在将Apache FOP 1.0项目升级到Apache FOP 2.1。在这个项目中,所有必要的文件都打包在jar文件中。 我添加了新的FopFactoryBuilder以生成FopFactory 但是我所有的资源都是从文件系统上的相对路径加载的,而不是从 jar 加载的。如何将 baseURI 设置为 jar 的类路径? 谢谢。

  • 我试图将外部jar设置为hadoop类路径,但目前还没有成功。 我可以看到上面的HADOOP_CLASSPATH已经被hadoop接收 $hadoop类路径 /etc/hadoop/conf:/usr/lib/hadoop/lib/://usr/lib/hadoop/.//:/home/tom/workspace/libs/opencsv-2.3.jar://usr/lib/hadoop-hdfs

  • 我有一个文件夹和包结构,如下所示 null null 致以最诚挚的问候 编辑:使用windows可能有不同的语法

  • 使用Linux;应用程序目录为: java-classpath/home/momy/a1/specter src.spectermain.mainclass 我得到这个错误:错误:无法找到或加载主类src.spectersafemain.MainClass 在netbeans上,该应用程序工作得很好…。我将应用程序重新打包到。exe版本,.exe开始工作,但DB not work显示derby j

  • 我遇到了一个非常基本的问题。我想我可能在做一些愚蠢的事情,并希望有另一双眼睛。我正在运行Ubuntu 16.04.3 因此,我正在使用ASMifier,以便将我的java类转换为ash字节码。如果asm-6.0和asm-util-6.0 jars与我的java类位于同一文件夹中,并且我运行以下命令"java-classpath"asm-6.0.jar:asm-util-6.0.jar:."org.

  • 问题内容: 从命令行,如何设置Java CLASSPATH选项以指向包含多个jar文件的一个或多个目录?是否有通配符支持递归目录和子目录? (我的JAR文件在几个子目录中排序。) 问题答案: 如果您使用的是Java 6或更高版本,则可以使用以下形式的通配符: 如果要添加所有子目录:lib \ a \,lib \ b \,lib \ c \,则除了以下以外,没有其他机制: 您想要完成的工作没有类似或