在Eclips导出选项里选择jar包,这是MANIFEST.MF文件
1.Manifest-Version: 1.0
2.Ant-Version: Apache Ant 1.6.2
3.Created-By: 1.5.0_06-57
4.Built-By: hani
5.Main-Class: net.walsece.game.MainGame
6.Class-Path: lib/substance.jar
我确信MainClass的包路径是正确的。项目引用lib目录下的substance.jar在导出时有警告提示但是不报错。Exported with compile warnings: /llk/src/net/walsece/game/XXX.java然后在单击这个jar运行时弹出错误提示 找不到main class 程序将退出。在把生成的jar解压开之后查看 MF文件,内容是
1.Manifest-Version: 1.0
2.Class-Path: lib/substance.jar
3.Built-By: hani
4.Created-By: 1.5.0_06-57 ("Apple Computer, Inc.")
5.Ant-Version: Apache Ant 1.6.2
6.Main-Class: net.walsece.game.MainGame
各位不要在网上寻找些答案复制过来了。在这里问,肯定是各种方法都试过了不好使。
1.Manifest-Version: 1.0
2.Ant-Version: Apache Ant 1.6.2
3.Created-By: 1.5.0_06-57
4.Built-By: hani
5.Main-Class: net.walsece.game.MainGame
6.Class-Path: lib/substance.jar
我确信MainClass的包路径是正确的。项目引用lib目录下的substance.jar在导出时有警告提示但是不报错。Exported with compile warnings: /llk/src/net/walsece/game/XXX.java然后在单击这个jar运行时弹出错误提示 找不到main class 程序将退出。在把生成的jar解压开之后查看 MF文件,内容是
1.Manifest-Version: 1.0
2.Class-Path: lib/substance.jar
3.Built-By: hani
4.Created-By: 1.5.0_06-57 ("Apple Computer, Inc.")
5.Ant-Version: Apache Ant 1.6.2
6.Main-Class: net.walsece.game.MainGame
各位不要在网上寻找些答案复制过来了。在这里问,肯定是各种方法都试过了不好使。
.;%JAVA_HOME%\lib\tools.jar
JAVA_HOME:
C:\Program Files\Java\jdk1.6.0_02
PATH:
...;%JAVA_HOME%\bin
有问题?
Exception in thread "main" java.lang.NoClassDefFoundError: org/jvnet/substance/skin/SubstanceOfficeBlue2007LookAndFeel
Caused by: java.lang.ClassNotFoundException: org.jvnet.substance.skin.SubstanceOfficeBlue2007LookAndFeel
打开注册表 将HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command
里面的参数值修改下"F:\java\jre6\bin\javaw.exe" -jar "%1" "%*
有颜色的该为你的机器上的程序位置
第一步:创建manifest.mf文件:
Manifest-Version: 1.0
Main-Class: Transfer
class-path: lib/sqljdbc.jar lib/jdbc.jar lib/progress.jar
Created-By: 打包java文件 第二步:打包。
cmd 下进入名字为abc的目录下,
jar cvfm abc.jar MANIFEST.MF *.*
classpath配置里空格数量以及回车符极容易导致出错。
org/pushingpixels/substance/api/skin/SubstanceOfficeBlue2007LookAndFeel.class另外,substance.jar 依赖 trident.jar
现在可以在命令行运行 java -jar 运行,但是我用exe4j等工具发布成exe之后,总提示java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)然后启动失败,这个又纠结一下午了。。这是为何。。,可以在命令行、或者直接双击jar包运行,但一打包成exe就是这个问题。
纠结两天了,
感觉java做swing开发的速度和c#winform、VB没法比了。。
或许是我做J2SE新手撒。
在打包jar的时候使用的是Eclipse插件fatjar
打包成功之后 在使用exe4j进行发布操作,选择mainclass时,
原程序应该是net.walsece.game.MainGame
在选择时,没有该选项,只有 com.simontuffs.onejar.Boot这个class之后打包出来的EXE就报出了上文中写的错误。