当前位置: 技术问答>java相关
关于jar的打包问题
来源: 互联网 发布时间:2015-07-01
本文导语: 如下程序: import java.awt.*; public class frame1 extend Frame{ public frame1(){ super("hk"); setSize(400,300); show(); } public static void main(S...
如下程序:
import java.awt.*;
public class frame1 extend Frame{
public frame1(){
super("hk");
setSize(400,300);
show();
}
public static void main(String[]args){
new frame1();
}
}
//如何将它打包成jar,并且可以通过双击xxx.jar文件来运行显示这个frame
import java.awt.*;
public class frame1 extend Frame{
public frame1(){
super("hk");
setSize(400,300);
show();
}
public static void main(String[]args){
new frame1();
}
}
//如何将它打包成jar,并且可以通过双击xxx.jar文件来运行显示这个frame
|
jar -cvf test.jar *.java
|
如果要运行地话,必须有java虚拟机,但是有一个软件叫jet,现在最新是2.5版,可以把jar文件转成.exe文件,让他无需虚拟机也能运行,不过还得安装j2sdk1.3.x或最新地j2sdk1.4版,jet软件安装时间暴长,如果你要的话可以与我联系,我的信箱是:
i_am_god5794@sina.com
我的oicq是:13399209
i_am_god5794@sina.com
我的oicq是:13399209
|
以上步骤进行后虽然包已经把好,但仍不能双击执行,因为你没有设置main class,你必须为你的.jar制定一个main class作为入口。
可以这样做:
打包后用解压缩软件打开你的.jar,可以发现一个META-INF文件夹,里面有一个MANIFEST.MF,用记事本打开这个文件,添入一句Main-Class: class1
class1是你的.class名。
可以这样做:
打包后用解压缩软件打开你的.jar,可以发现一个META-INF文件夹,里面有一个MANIFEST.MF,用记事本打开这个文件,添入一句Main-Class: class1
class1是你的.class名。
|
还没说完,改了MANIFEST.MF后保存它,然后可以用解压缩软件(我用的winace)直接将更改后的META-INF文件夹和你的.class文件打包成.jar(这个过程你只用将文件名从.zip改成.jar就能打成.jar)
完成后的.jar就可以双击执行了
完成后的.jar就可以双击执行了
|
用jbuilder7的话可以很方便的生成.jar文件。但是要运行的话还是要有java
虚拟机的支持。
虚拟机的支持。
|
to dominic2013(多米诺排骨) ,双击执行会不会又用你解压缩软件(winace)打开呢?
|
楼上所说的不能执行是因为jar命令错误
jar cvmf manifest.txt run.jar codeDir
manifest.txt是你要自己主动生成的一个文件,其主要内容是:
Main-Class: mainclass
Class-Path: classpath
Created-By: 1.4.0 (Sun Microsystems Inc.)
classpath是可以不指定的,但是mainclass是一定要指定的
最后一行好像也是必须的
jar cvmf manifest.txt run.jar codeDir
manifest.txt是你要自己主动生成的一个文件,其主要内容是:
Main-Class: mainclass
Class-Path: classpath
Created-By: 1.4.0 (Sun Microsystems Inc.)
classpath是可以不指定的,但是mainclass是一定要指定的
最后一行好像也是必须的
|
如果你双击.Jar文件想执行它,但是却又被Winrar打开,你可以在winrar中把
winrar的与.jar文件的关联去掉,这样就行了! :)
winrar的与.jar文件的关联去掉,这样就行了! :)
|
上面的都不详
Manifest-Version: 1.0
Main-Class: untitled1/Applet1
Created-By: 1.3.1 (Sun Microsystems Inc.)
第二行要写上你JAR包里的类路径才行。untitled1是包里的目录,Applet1是类名
如果不懂:
QQ:12318872
Manifest-Version: 1.0
Main-Class: untitled1/Applet1
Created-By: 1.3.1 (Sun Microsystems Inc.)
第二行要写上你JAR包里的类路径才行。untitled1是包里的目录,Applet1是类名
如果不懂:
QQ:12318872
|
jar -cvf *.java *.jar
或者反过来
或者反过来
|
记得给分阿