Java程序打包后为什么不能运行?

程序编译好了,主类名为:Keyboard ,用:java Keyboard能正常运行。

之后,用打包成:TT.jar文件,运行时却出现异常:
D:\test\Test\TT>jar -cvfm TT.jar manifest.mf *.class
已添加清单
正在添加: Exercise.class(输入 = 1052) (输出 = 718)(压缩了 31%)
正在添加: FallenLetter.class(输入 = 1967) (输出 = 1176)(压缩了 40%)
正在添加: Keyboard.class(输入 = 5524) (输出 = 3075)(压缩了 44%)
正在添加: KeyButton.class(输入 = 1128) (输出 = 692)(压缩了 38%)
正在添加: Move.class(输入 = 2282) (输出 = 1431)(压缩了 37%)
正在添加: Typer$1.class(输入 = 1043) (输出 = 631)(压缩了 39%)
正在添加: Typer$2.class(输入 = 1129) (输出 = 681)(压缩了 39%)
正在添加: Typer$3.class(输入 = 675) (输出 = 468)(压缩了 30%)
正在添加: Typer.class(输入 = 7678) (输出 = 3896)(压缩了 49%)

D:\test\Test\TT>java -jar TT.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Panel
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
……
不知什么缘故?

你好,这个错误很经典,你打的jar放在什么位置啊?
NoClassDefFoundError,ClassNotFoundException,这样的错误基本是没找到类,jar包里的类,也就是没找到jar包追问

生成的jar放在原目录中啊,其中用到的类都是jdk提供的,没打包之前运行一切正常。

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-21
网上下载的肯定不行的,我之前有写过,现在还保留着。追问

所有代码都是我自己编写的,没打包之前运行正常,打包之后却不能运行。

追答

我这里有写好的,给楼主参考下。

追问

好啊,那就谢谢了。可以发信箱:xjf5562 爱特 126 点 com 或企鹅:3863685七七

为何java项目在netbeans下能完好运行,但打包后就不能运行呢?
不是没运行,应该是你报异常了。通常在netbeans的时候,你的程序可以运行,就算你的配置文件大小写有点错误,也可以执行,但是如果你打包了,那么写错了是一定不能运行的。这就是为什么netbeans可以运行而打包不能。检查下自己的配置文件之类的。还有,用cmd下的命令运行jar就可以看到异常欣喜 ...

Java打包成jar后运行时出错,为什么?
可能jar文件损坏了,你可以尝试用winrar打开这个jar文件,把它解压,看有没有报错,如果报错,说明文件损坏了。打包成jar文件后运行出现Invalid or corrupt jarfile 解决打jar包 1。jar -cvf hello。jar hello。class 2。这时java -jar hello。jar 是运行不了的 3。解压刚打的Jar包到新的目录,会发现...

java 代码里用了File类,打包后不能运行,报找不到文件的异常,该怎么解决...
找不到文件可能是打包后的CLASSPATH 没有设置正确 ,所以你要在打包运行的脚本中重新设置CLASSPATH ,比如 java -classpath %CLASSPATH%;.\/; ...

Java打包成windows服务后执行cmd命令失效的原因是什么?
Java打包成windows服务后执行cmd命令失效的原因可能有很多,比如权限问题、环境变量问题等等。您可以尝试以下方法解决这个问题:1.检查您的程序是否有权限执行cmd命令。如果没有,请尝试以管理员身份运行程序。2.检查您的程序是否设置了正确的环境变量。如果没有,请设置正确的环境变量。3.检查您的程序是否使...

JAVA 打包成exe后不能用
这个问题一般是在生成EXE文件配置时出的。在生成EXE文件的时候应该会叫你去指定一个起始执行的类,那个类里面需要有一个Main主函数,这就是点击EXE会执行的第块代码区域。我生成时使用的EXE4J进行生成,其它生成可能较类似。

java程序在生成jar包后运行错误
你好:你的jar打包不对吧,你的选择那个run jar的,就是可运行jar包才行,你的这个找不到类,就是说找不到依赖方法报错了,你可以认真的去看下,肯定是这个问题的。

java程序添上包就不能运行了,为什么?
java完全不同,java没有头文件,每个.java都是要放在源代码树中的。那么这颗树是怎么组织的呢?对了,就是package语句。比如写了package com.lightning;那么这个.java就必须放在源代码树根\\的com\\lighting\\之下才行。很多浮躁的初学者被default打包方式宠坏了。自我为中心,以为java就是一套库,自己写的时候最多import...

我做了个简单的java程序打包成exe,但是无论我怎么把jre一起打包都无法...
没安装JRE的电脑是无法运行jar程序的,其实即便打成exe格式,依然需要JRE的支持。其实你以为exe可以单独运行?那这是错觉,因为微软已经在window里集成了exe的运行环境。

...写的java计算器代码编译后生成了几个CLASS文件,但却不能运行...
还要打包成jar文件,注意事项:1、定义一个文本文件,如1.txt,文件内容如下:1)Main-Class:+空格+可运行类名 2)敲回车 2、dos命令:进入字节码所在目录 jar cvfm 生成文件名.jar 1.txt *.class 3、1.txt文件必须与字节码(.class)文件在同一目录 ...

...java编写的程序打包成jar文件后显示的不是java的图标那种,而是压缩...
当java打包成jar文件后,它只能以压缩文件的形式打开,它内面存放的是你的程序,别的不能打开!

相似回答