import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class FrameDemo extends JFrame
implements ActionListener {
public FrameDemo() {
setTitle("FrameDemo");
JButton btn = new JButton("退出");
add(btn);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
public static void main(String[] args) {
FrameDemo f = new FrameDemo();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setVisible(true);
}
}
24 个解决方案
#2
META-INF文件夹下面要有一个MANIFEST.MF文件。
里面内容如下:
Manifest-Version: 1.0
Main-Class: houlei.csdn.util.StringResolution
其中:houlei.csdn.util.StringResolution是你的入口程序类,即带有main方法的类。
里面内容如下:
Manifest-Version: 1.0
Main-Class: houlei.csdn.util.StringResolution
其中:houlei.csdn.util.StringResolution是你的入口程序类,即带有main方法的类。
#3
你给的链接有问题,我这边网页打不开
#4
可否再详细一点,有关jar打包我只知道jar cvf test.jar Test1.java Test2.java ...这种方法
其它的不太清楚,能否请教一下命令行中应该输入什么?
#5
用eclipse吗?
file->export->java->runnable jar file
file->export->java->runnable jar file
#6
用netbeans 在项目里面添加main类。新建个项目,把这个类的名字改为main 运行-生成主项目,然后在控制台那里会显示jar文件保存的位置了
#7
好像jdk6才可以。
#8
等正确答案 一样求解中
#9
java -cvfm
eclipse工程的话直接用fat.jar插件打包
打包的时候注意自定义MANIFEST.MF
eclipse工程的话直接用fat.jar插件打包
打包的时候注意自定义MANIFEST.MF
#10
导出一下
#11
原来Eclipse还有这个功能啊,谢谢了
#12
这个cvfm参数为什么我运行会出错啊
D:\>jar cvfm t.jar FrameDemo.java
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:389)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:132)
at sun.tools.jar.Main.main(Main.java:1022)
不知道这么写对不对
#13
1在C盘编译FrameDemo.java
javac FrameDemo.java
2创建my.mf,内容如下:
Manifest-Version: 1.0
Main-Class: FrameDemo
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
3再输入
jar cvfm my.jar my.mf FrameDemo.class
4双击my.jar
注意:my.mf三行的:后面都有一个空格,Created-By后面的1.6.0_10-rc2值不一定是这个
你可以java -version看下你JDK的版本
javac FrameDemo.java
2创建my.mf,内容如下:
Manifest-Version: 1.0
Main-Class: FrameDemo
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
3再输入
jar cvfm my.jar my.mf FrameDemo.class
4双击my.jar
注意:my.mf三行的:后面都有一个空格,Created-By后面的1.6.0_10-rc2值不一定是这个
你可以java -version看下你JDK的版本
#14
我来说说,就说怎么用命令行打可以执行的jar包,前提是jdk已经安装配置好
第一种情况:不带package
这个源程序和编译太简单就不写了
打jar包:jar -cvfe hello.jar Hello Hello.class
执行:java -jar hello.jar
当然了,如果jar包中的Hello含有GUI的应用程序,就可以启动GUI
第二种情况:带package
比如:Hello.java的包为package com.tarena;
编译:javac -d . Hello.java
打jar包:jar -cvfe hello.jar com.tarena.Hello com
执行jar包:java -jar hello.jar,也可以在jdk的环境下双击jar包就可以启动里面的GUI,前提是启动GUI的类就是Main-Class
说明:要想双击执行jar包,要指明Main-Class,命令行中的e参数就是指定Main-Class的,com表示把带包编译后com目录下的所有文件全部压缩到jar包中
注:jar包和zip包都是压缩包,jar包里放的是*.class文件,不是*.java文件
oK
第一种情况:不带package
这个源程序和编译太简单就不写了
打jar包:jar -cvfe hello.jar Hello Hello.class
执行:java -jar hello.jar
当然了,如果jar包中的Hello含有GUI的应用程序,就可以启动GUI
第二种情况:带package
比如:Hello.java的包为package com.tarena;
package com.tarena;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
编译:javac -d . Hello.java
打jar包:jar -cvfe hello.jar com.tarena.Hello com
执行jar包:java -jar hello.jar,也可以在jdk的环境下双击jar包就可以启动里面的GUI,前提是启动GUI的类就是Main-Class
说明:要想双击执行jar包,要指明Main-Class,命令行中的e参数就是指定Main-Class的,com表示把带包编译后com目录下的所有文件全部压缩到jar包中
注:jar包和zip包都是压缩包,jar包里放的是*.class文件,不是*.java文件
oK
#15
这个我也不会。坐等
#16
14楼的答案我喜欢。。。。
顶一下。。。。
顶一下。。。。
#17
如果用命令行就按照我说的做,Just do it之后就会发现oK了
如果用IDE,各个IDE操作都没有太大的难度,关键是配置信息的时候指定Main-Class
如果用IDE,各个IDE操作都没有太大的难度,关键是配置信息的时候指定Main-Class
#18
这种方式不能吧第三方的jar打包进去,只能最为jar提供给项目使用。
楼主的意思吧整个项目做成一个可执行的文件就像Windos中的.exe。
前段时间做了个类似的东西
一:利用批处理
先利用fatjar吧项目达成jar包====》 项目.jar。指定jre运行项目.jar
批处理内容如下:
windows下:
star jre路径/bin/java -jar 项目.jar
Linux下:
jre路径/bin/java -jar 项目.jar
直接双击批处理文件就可以了。
二:用exe4j吧项目做成可执行文件。
网上有很多安装以及处理的方式楼主可以搜索下.
#19
俺们是这么做的,进了公司才知道的。呵呵
#20
+1
#21
只试过打包成jar包
#22
或者右键 导出--》java jar
#23
用eclipse导出可执行的jar包就行了
#24
用exe4j转换成.exe吧,想当初自己做了一个小游戏打成 .exe在换上漂亮图片真好看
#1
#2
META-INF文件夹下面要有一个MANIFEST.MF文件。
里面内容如下:
Manifest-Version: 1.0
Main-Class: houlei.csdn.util.StringResolution
其中:houlei.csdn.util.StringResolution是你的入口程序类,即带有main方法的类。
里面内容如下:
Manifest-Version: 1.0
Main-Class: houlei.csdn.util.StringResolution
其中:houlei.csdn.util.StringResolution是你的入口程序类,即带有main方法的类。
#3
你给的链接有问题,我这边网页打不开
#4
可否再详细一点,有关jar打包我只知道jar cvf test.jar Test1.java Test2.java ...这种方法
其它的不太清楚,能否请教一下命令行中应该输入什么?
#5
用eclipse吗?
file->export->java->runnable jar file
file->export->java->runnable jar file
#6
用netbeans 在项目里面添加main类。新建个项目,把这个类的名字改为main 运行-生成主项目,然后在控制台那里会显示jar文件保存的位置了
#7
好像jdk6才可以。
#8
等正确答案 一样求解中
#9
java -cvfm
eclipse工程的话直接用fat.jar插件打包
打包的时候注意自定义MANIFEST.MF
eclipse工程的话直接用fat.jar插件打包
打包的时候注意自定义MANIFEST.MF
#10
导出一下
#11
原来Eclipse还有这个功能啊,谢谢了
#12
这个cvfm参数为什么我运行会出错啊
D:\>jar cvfm t.jar FrameDemo.java
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:389)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:132)
at sun.tools.jar.Main.main(Main.java:1022)
不知道这么写对不对
#13
1在C盘编译FrameDemo.java
javac FrameDemo.java
2创建my.mf,内容如下:
Manifest-Version: 1.0
Main-Class: FrameDemo
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
3再输入
jar cvfm my.jar my.mf FrameDemo.class
4双击my.jar
注意:my.mf三行的:后面都有一个空格,Created-By后面的1.6.0_10-rc2值不一定是这个
你可以java -version看下你JDK的版本
javac FrameDemo.java
2创建my.mf,内容如下:
Manifest-Version: 1.0
Main-Class: FrameDemo
Created-By: 1.6.0_10-rc2 (Sun Microsystems Inc.)
3再输入
jar cvfm my.jar my.mf FrameDemo.class
4双击my.jar
注意:my.mf三行的:后面都有一个空格,Created-By后面的1.6.0_10-rc2值不一定是这个
你可以java -version看下你JDK的版本
#14
我来说说,就说怎么用命令行打可以执行的jar包,前提是jdk已经安装配置好
第一种情况:不带package
这个源程序和编译太简单就不写了
打jar包:jar -cvfe hello.jar Hello Hello.class
执行:java -jar hello.jar
当然了,如果jar包中的Hello含有GUI的应用程序,就可以启动GUI
第二种情况:带package
比如:Hello.java的包为package com.tarena;
编译:javac -d . Hello.java
打jar包:jar -cvfe hello.jar com.tarena.Hello com
执行jar包:java -jar hello.jar,也可以在jdk的环境下双击jar包就可以启动里面的GUI,前提是启动GUI的类就是Main-Class
说明:要想双击执行jar包,要指明Main-Class,命令行中的e参数就是指定Main-Class的,com表示把带包编译后com目录下的所有文件全部压缩到jar包中
注:jar包和zip包都是压缩包,jar包里放的是*.class文件,不是*.java文件
oK
第一种情况:不带package
这个源程序和编译太简单就不写了
打jar包:jar -cvfe hello.jar Hello Hello.class
执行:java -jar hello.jar
当然了,如果jar包中的Hello含有GUI的应用程序,就可以启动GUI
第二种情况:带package
比如:Hello.java的包为package com.tarena;
package com.tarena;
public class Hello{
public static void main(String[] args){
System.out.println("Hello World");
}
}
编译:javac -d . Hello.java
打jar包:jar -cvfe hello.jar com.tarena.Hello com
执行jar包:java -jar hello.jar,也可以在jdk的环境下双击jar包就可以启动里面的GUI,前提是启动GUI的类就是Main-Class
说明:要想双击执行jar包,要指明Main-Class,命令行中的e参数就是指定Main-Class的,com表示把带包编译后com目录下的所有文件全部压缩到jar包中
注:jar包和zip包都是压缩包,jar包里放的是*.class文件,不是*.java文件
oK
#15
这个我也不会。坐等
#16
14楼的答案我喜欢。。。。
顶一下。。。。
顶一下。。。。
#17
如果用命令行就按照我说的做,Just do it之后就会发现oK了
如果用IDE,各个IDE操作都没有太大的难度,关键是配置信息的时候指定Main-Class
如果用IDE,各个IDE操作都没有太大的难度,关键是配置信息的时候指定Main-Class
#18
这种方式不能吧第三方的jar打包进去,只能最为jar提供给项目使用。
楼主的意思吧整个项目做成一个可执行的文件就像Windos中的.exe。
前段时间做了个类似的东西
一:利用批处理
先利用fatjar吧项目达成jar包====》 项目.jar。指定jre运行项目.jar
批处理内容如下:
windows下:
star jre路径/bin/java -jar 项目.jar
Linux下:
jre路径/bin/java -jar 项目.jar
直接双击批处理文件就可以了。
二:用exe4j吧项目做成可执行文件。
网上有很多安装以及处理的方式楼主可以搜索下.
#19
俺们是这么做的,进了公司才知道的。呵呵
#20
+1
#21
只试过打包成jar包
#22
或者右键 导出--》java jar
#23
用eclipse导出可执行的jar包就行了
#24
用exe4j转换成.exe吧,想当初自己做了一个小游戏打成 .exe在换上漂亮图片真好看