将 java 变为可以执行文件(修改,抱歉前面因为大意出了些错)
我觉得一件很容易的事情,被大家越说越迷糊,所以,我以最简单的方式进 行一次描述,希望能帮到像我这样的初学者: 1.找到你的 main 函数,记录下它的类名,我们举例子叫做 public class test,记下 test。
2.新建一个 txt 文件,默认叫做:新建记事本.txt,将以下几行代码复制过去。 Manifest-Version: 1.0 Created-By: Hanic Main-Class: test 把记事本名字改为 MANIFEST.MF
3.打开 dos 运行 jar cvfm
test.jar manifest.mf *.class
4.注意你的程序运行以后一定要有窗体的,否则是没有反应的。
这样就会自动生成一个文件,双击可以运行,不用在用 dos 了,我希望以简单的 话语实现大家都目标,也许很肤浅,但以达到目的为主。
5.接到有朋友反应有这样那样的错误,让他们将项目发给我以后,发现操作可以 完成,比对以后,发现有以下问题: 第一,在写 MANIFEST.MF 文件的时候,冒号后面需要加空格,行与行之间 不允许空行。 第二,打包完成以后,因为很多原因打开 jar 的方式设定不正确,解决办法, 先运行开始-cmd-输入 java 项目名称(不带扩展名)看能否运行,如果可以 在调整打开方式的
问题。 第三,如果还是不能运行,那么新建立一个记事本,写入一下内容: @echo off
if "%1" == "h" goto begin mshta h",0)(window.close)&;&;exit :begin java -jar SSQ.jar vbscript:createobject("wscript.shell").run("""%~nx0""
SSQ 是项目名称。然后修改扩展名为.bat,然后直接运行这个 bat 文件,你的 程序就可以运行了。 备注: 本来我准备以最简单的方式说明,想让大家容易弄明白,结果百度说
文档质量太 低,传不上去,所以我在此举一个完整的例子,一般情况下,大家只用看上面 3 步就可以完成这个转变了,如果实在不明白也可以看下面的例(jdk 安装和环境 配置在此就不多说了) ; 一, 二, 直接在 d 盘新建一个记事本,并将名字改为,MyFrame.java。 将以下代码复制到记事本中。
import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener;
import javax.swing.*;
public class MyFrame extends JFrame { private MyFrame instance = this; //private MyFrame mf=new MyFrame(); public static void main(String[] args) { new MyFrame(); } public MyFrame()
{ this.setLayout(new FlowLayout()); JButton b = new JButton("关闭"); JButton a = new JButton("
查询"); this.setSize(800,600); this.add(b); this.add(a); b.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e) { instance.dispose(); } } ); this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); this.setVisible(true); } //b 关闭按纽的实现
} 三, 四, 五, 六, 七, 开始-运行-cmd 然后输入 cd\返回根
目录 c 盘,然后输入 cd\d 进入 D 盘。 然后输入 javac MyFrame.java 进行编译,看
程序是否能编译。 然后输入 java MyFrame 进行运行是否正常,弹出一个窗口。 在 D 盘新建一个记事本,将名字改为,MANIFEST.MF 并将这一段代码
Manifest-Version: 1.0 Created-By: Hanic
Main-Class: MyFrame 复制进去。 八, 九, 开始-运行-cmd 然后输入 jar cvfm MyFrame.jar manifest.mf *.clsaa
就可以看到一个可执行程序。不用运行 dos 那黑框了。
如果有其他问题,大家可以询问我的百度帐号,我懂得一定会耐心告诉大家。