请教JAVA 问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教JAVA 问题相关的知识,希望对你有一定的参考价值。

想请问JAVA 高手如何解决以下问题, 谢谢:
编译好JAVA 程序后,将之用JAR 指令压缩成 .jar 文件再执行后出现以下讯息。想请教该如何解决。

Failed to load Mani-Class manifestattribute from
C:\Sun\SDK\jdk\bin\cpu09\cpu09.jar
谢谢指点,但根据答复去做还是出现以下讯息:

C:\Sun\SDK\jdk\bin\cpu09>jar cvfm cpu09.jar Manifest.txt
java.io.IOException: invalid header field name: ???Main-Class
at java.util.jar.Attributes.read(Attributes.java:409)
at java.util.jar.Manifest.read(Manifest.java:167)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:123)
at sun.tools.jar.Main.main(Main.java:903)

Manifest文件是要加入Main-Class: cpu09.frame.CPU09 但解压缩JAR 文件后发现 Mainfest文件没变化,而CPU09.JAR 还是不能执行。
请问要如何解决,谢谢。

你按下面的步聚操作,只要是你的类文件没问题那程序肯定可以运行。
1、建立一个文件夹,将你编译好的所有类放在这个文件夹里面。这里我们假设已经写好了一个Swing.class,那么把这个Swing.class放到这个文件夹

2、新建一个文件,文件名为manifest.mf,用记事本打开它,编辑里面的内容为Main-Class: Swing(然后按回车,记住一定要按回车,而且这里的类名不能带.class)

3、进行命令行,输入命令:jar cvfm Swing.jar manifest.mf *

看看文件夹下面是不是生成一个Swing.jar文件,如果你是用Swing或者AWT写的java程序,这时可以直接双击这个文件运行。
参考技术A 是 .jar 压缩包中 META-INF/MANIFEST.MF
文件不一样, 多了一行, Main-Class: xxxxx, 再看看出错信息, 原来是没有指定
Main-Class, 看看 jar 命令, 发现有一个参数 -m,

-m include manifest information from specified manifest file

和出错信息有点关系, 看来它要读一个配制文件. 只好照猫画虎写一个了.

[classes]$ cat myManifest
Manifest-Version: 1.0

Main-Class: pktest.PackageTest
Created-By: 1.2.2 (Sun Microsystems Inc.)

[classes]$ jar cvfm mypackage.jar myManifest pktest
added manifest
adding: pktest/(in = 0) (out= 0)(stored 0%)
adding: pktest/PackageSecond.class(in = 659) (out= 395)(deflated 40%)
adding: pktest/subpk/(in = 0) (out= 0)(stored 0%)
adding: pktest/subpk/PackageSub.class(in = 744) (out= 454)(deflated 38%)
adding: pktest/PackageTest.class(in = 1041) (out= 602)(deflated 42%)

[classes]$ java -jar mypackage.jar
Value of PackageTest is This is a Test Package
Value of PackageSecond is I am in PackageTest
Value of PackageSecond is I am in subpackage.
Value of PackageSub is I am in PackageTest

好了, 成功了, 这样就做好了一个可以直接执行的 .jar 文件.
参考技术B manifest文件有问题,

下个BlueJ,轻松搞定
http://www.bluej.org/download/download.html

或者用Ant

补充:
个人认为自己做jar有不确定性,特别是中文的系统,建议用工具,以上提供的工具都是免费的
参考技术C 我也遇到过这个问题,期待回答....

以上是关于请教JAVA 问题的主要内容,如果未能解决你的问题,请参考以下文章

请教java位运算问题?

请教:java线程问题。创建Thread

请教关于drawRect的调用问题

您好!想请教您一个有关Java的问题

请教java导出多张图片到Excel问题!

你好,请教一个java与AD域SSL(636端口)通讯问题