Exception in thread "main" java.lang.NoClassDefFoundError: org/jdom/Content我再使用eclipse 打包,然后通过java jar 运行程序,提示:java.lang.NoClassDefFoundError我的Manifest.mf 文件内容如下:
Manifest-Version: 1.0
Main-Class: com.idsp.testcase.IdspTest请问是什么原因?
Manifest-Version: 1.0
Main-Class: com.idsp.testcase.IdspTest请问是什么原因?
eclipse打包,manifest不用自己写的,指定main class,自动生成的
这是外部的类吗?
如果是,把这个类文件放到和你打包的文件在一起。
jdom的包没导入吧? jdom的包导入了,生成的jar 包中有该类,我是把它放在lib 下的,lib中的jar 在打包时是否包括?
还有,Manifest.txt,建立一个文件清单,指明你引用的jar的路径。
内容:
Manifest-Version: 1.0
Main-Class: .lib\org.jdom.Content.jar (lib为路径)
确保你引用的jar在路径上。
<project name="Demo" default="CreateExecutableJarFileWithExternalLibrary">
<target name="CreateExecutableJarFileWithExternalLibrary">
<jar destfile="你要生成的文件名,以.jar结尾(例如 test.jar)">
<zipfileset dir="项目中的package名称(例如 package1)">"
prefix="该package在生成的jar文件里的名称,一般同名即可" />
<zipfileset dir="项目中的package名称(例如包中的包 package1/package2)"
prefix="例如 package1/package2" />
<zipfileset src="外部的类的包(例如: ./jfreeChart/jfreechart-1.0.3.jar)" />
<manifest>
<attribute name="Main-Class" value="指定main()所在的类,也就是程序的入口
(例如 package1.MyTestFrame)"/>
</manifest>
</jar>
</target>
</project>你写好这个文件后,在Eclipse里面刷新一下你的项目就能看到build.xml,然后右键点它,在菜单中选
Run As -> Ant Build 就能生成可单独运行的jar文件了
在Eclipse打包的时候,有一步是选择Main所在的类,你没有选择。
仔细看这一步