- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
可能是 exec jar 的一个非常常见的问题。我正在尝试创建并运行一个可执行 jar,这让我发疯。
我有几个类(带有包 stmts),其中一个有一个 main 方法,一个简单的空构造函数,当然还有一些 biz 方法,这些构成了一个小型 eclipse 项目的一部分。
我使用 build.xml 将这些文件和 list 文件捆绑到一个 jar(arc.jar) 中。我的程序使用 jdom 库并且还引用了我的其他 eclipse 项目之一,因此我在构建 arc.jar 时包括了 jdom 库和其他 biz 库。
这是我写的Manifest.MF,Main-Class后面多了一行
Manifest-Version: 1.2
Class-Path: jdom.jar other.jar
Main-class: uk.co.Art
当我解压缩这个 arc.jar 时,它包含 jdom.jar、other.jar、META-INF/Manifest.mf 和包含我的类的包。有趣的是,jar 中的 Manifest 文件看起来像这样 -
Manifest-Version: 1.2
Created-By: 14.2-b01 (Sun Microsystems Inc.)
Main-class: uk.co.Art
Class-Path: jdom.jar other.jar
我得到了 ClassNotFoundException ClassNotFoundException: uk.co.Art
当 Main class 的值没有包时。使用包,错误更改为 ClassNotFoundException: org.jdom.JDOMException
.
因此,出于测试目的,我尝试使用 c:\
给出完整路径。对于我的执行类和 jar ,但它仍然无法找到主类,错误 ClassNotFoundException: uk.co.Art
.
我似乎不明白为什么。
我使用的命令行是 - java -jar Arc.jar
cmd 提示符下的版本是 -
java version "1.6.0_16"<br/>
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)<br/>
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode)
而eclipse安装的jre是jre6
大家有什么建议吗?
Alex' solution did solve the problem for local execution.
I am also thinking of another way(as an extra option) of execution, to deploy the Arc.jar on server and run a batch on that machine which basically sets the java classpath and then calls either the jar or directly the class whichever way it works.But its only an option, not a preferred one though.
Or, also, set that classpath in my manifest and build jar locally and deploy on the server.
Would like to try out a few things though.But now I understand that the basic problem was jars into jar and hence classpath issue.
非常感谢大家。
最佳答案
您不能在一个 JAR 中捆绑其他 JAR。它们必须位于同一文件夹中,或者至少位于与 Arc.jar
相关的文件夹中。然后在 Class-Path
条目中指定它的相对路径。
然而,Eclipse 有一个有用的导出工具,它允许您将其他 JAR 的内容嵌入到您的 JAR 中,这样您就不会最终得到多个需要放置在特定位置的松散 JAR。当您选择Export > Runnable JAR file 时,选中第二个Library Handling 选项。
选择软件包需要库中的生成JAR ,然后Eclipse将添加一个特殊的classloader,该classloader将在执行主类之前为您加载这些JAR的透明度。这是在 JarRsrcLoader
的帮助下完成的.
关于java - 可执行 Jar 的 NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4518957/
我一直在尝试在我的代码中使用 Jar 文件作为库,并且它编译得很好。但是,在运行时,我不断收到 NoClassDefFoundError信息。为什么会这样?我也在编译路径和运行时路径中包含了 Jar
关于Apache-Kafka messaging queue . 我已经从 Kafka 下载页面下载了 Apache Kafka。我已将其提取到 /opt/apache/installed/kafka
我正在尝试使用 Apache DefaultHttpClient 来执行 JSON POST 请求,当我尝试实例化它时它给我一个 NoClassDefFound 错误。 HttpClient clie
当我在模拟器(Nexus One API 22)上测试我的应用程序时,它运行顺利,没有失败。然而,当我在自己的个人手机(三星 Galaxy S5,Android 版本 5.0)上测试该应用程序时,它崩
我需要在python中使用java代码来减少,所以我选择了Jython。一段时间后,我设法弄清楚了如何运行我的代码,但我遇到了最奇怪的事情。当我写作时 from vohmm.corpus import
这是我的mybatis配置。这是我的pom.xml。。当我运行项目时,它显示了错误的原因:org/mybatis/spring/mapper/MapperScannerConfigurer.有没有人能
所以我正在尝试构建一个简单的gradle应用,当我运行它时, geb.ConfigurationLoader$UnableToLoadException: Unable to load configu
假设我有一个主类应用程序,它使用 URLClassLoader 加载子目录 plugins 中的所有 jar: public class App(){ public static void m
我在尝试运行 Netbeans (7.2) 时遇到一个反复出现的错误,上次遇到它时,我发现某个地方可以将所有文件移动到一个新项目。这可能会奏效,但我的项目的规模让这很麻烦。这是踪迹... Except
这个问题已经有答案了: Including all the jars in a directory within the Java classpath (25 个回答) 已关闭 6 年前。 我得到一个
在这里,我正在下载网页源代码,然后将其存储在文本文件中。然后我读取该文件并将其与正则表达式匹配以搜索特定字符串。 没有编译器错误。 Exception in thread "main" java.la
我正在一个“大”的 Maven/Java 项目中工作,无法理解运行应用程序时遇到的错误(它编译正常)。我得到的错误代码是: java.lang.NoClassDefFoundError: Could
对于学校的作业,我需要创建一个类 Blender 来实现一些预定义的东西。我收到了一个 JAR 文件 imagecompositor.jar,它可以完成所有操作并使用 Blender 类。 JAR 文
我遇到了一个问题,即抛出 NoClasDefFoundError。这让我感到困惑,因为我正在使用接口(interface),并且没有类定义应该可用。我已经阅读了一些指向类路径的帖子,但我不认为这是这里
我正在使用 hibernate,在使用 hibernate Connection 时出现如下错误 java.lang.NoClassDefFoundError: Could not initializ
我有一个使用 SubVersion 的 Android 项目。我使用 Subclipse 将项目导入我的 Eclipse Wordspace。 现在我有一个问题: java.lang.NoClass
我需要编译一个外部 java 文件(比如 a.java)。这是我为此编写的代码。 (字符串路径包含java和class文件的路径) command[0] = "javac"; comm
我正在尝试运行一个基本的 Hibernate 程序。当我运行它时,出现以下错误 java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogge
标题:Eclipse插件开发由于java.lang.NoClassDefFoundError无法实例化类: 试图构建一个 eclipse 插件,但遇到一些运行时错误.. 我知道这是由于代码所依赖的类文
我是新手,我无法让它工作......:/ 我的 build.sbt: val apacheDeps = Seq( "commons-validator" % "commons-validator"
我是一名优秀的程序员,十分优秀!