❶ 如何把java程序打成JAR包并能自动运行
1. JAR 文件包
JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件——准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。举个例子,如果我们具有如下目录结构的一些文件:==`-- test
`-- Test.class
把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:
test.zip
`-- test
`-- Test.class
如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:
test.jar
|-- META-INF
| `-- MANIFEST.MF
`-- test
`--Test.class
2. 创建可执行的 JAR 文件包
制作一个可执行的 JAR 文件包来发布你的程序是 JAR 文件包最典型的用法。
Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;运行前需要把所有用到的包的根目录指定给 CLASSPATH 环境变量或者 java 命令的 -cp 参数;运行时还要到控制台下去使用 java 命令来运行,如果需要直接双击运行必须写 Windows 的批处理文件 (.bat) 或者 Linux 的 Shell 程序。因此,许多人说,Java 是一种方便开发者苦了用户的程序设计语言。
其实不然,如果开发者能够制作一个可执行的 JAR 文件包交给用户,那么用户使用起来就方便了。在 Windows 下安装 JRE (Java Runtime Environment) 的时候,安装文件会将 .jar 文件映射给 javaw.exe 打开。那么,对于一个可执行的 JAR 文件包,用户只需要双击它就可以运行程序了,和阅读 .chm 文档一样方便 (.chm 文档默认是由 hh.exe 打开的)。那么,现在的关键,就是如何来创建这个可执行的 JAR 文件包。
因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:
Main-Class: 可执行主类全名(包含包名)
例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:
Main-Class: test.Test <回车
最后以我的程序为例:
1、打包: jar cvfm MySMSLib.jar manifest.mf -C classes/ .
把classes目录下的所有class文件打包。
2、执行: java -jar MySMSLib.jar
3、制作一个bat可执行文件即可,具体略了。
❷ java 代码怎么打成jar包
方法:
1、启动eclipse;
2、在eclipse中建立好工程与类并写好代码;
3、点击“File->Export”;
4、在弹击的界面中选择“Java->JAR file”,再点击“Next”;
5、选择要打包的文件,再点击“Browse”;
6、在弹出的界面中选择好打包后的文件的存放路径,再输入文件名,最后点击“保存”;
7、点击“Finish”;
8、打包成功。
❸ Java项目怎么打成jar包
第一种:在jbuilder中:
首先你要保证Run菜单-->Run Project能顺利运行
然后Wizards菜单-->Native Executable Builder
选中Compress the contents of the archive(产生jar文件的话)
Next-->Next-->选中Always include all classes and resources再Next-->Next-->Next
选中Windows GUI"exe"(产生EXE文件的话)-->Finish
再在项目的文件列表中的Native Executable右击-->Make就可以了
第二种:在cmd 下生成jar文件
abc.txt内容如下:
Manifest-Version: 1.0
Main-Class: main-class-name(回车)
在cmd下:
javac *.java
jar cvfm abc.jar abc.txt *.class
示例——生成能通过鼠标双击就执行的.jar文件
一、编写 Java源程序Test.java如下:
// Test.java
import javax.swing.*;
/**
* @(#) Test.java
* Copyleft (c) 2002 RatKing
* @author <a href="[email protected]">RatKing</a>
* @version 0.1, 2002-11-7
* 描述:一个测试用的Java Application
*/
public class Test extends JFrame {
public Test(String title) {
super(title);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.getContentPane().add(new JLabel("测试!", JLabel.CENTER), SwingConstants.CENTER);
this.pack();
}
public static void main(String[] args) {
try {
//UIManager.setLookAndFeel(UIManager.());
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch(Exception e) {
e.printStackTrace();
}
Test t = new Test("Test - 测试");
t.setVisible(true);
}
}
二、编译Test.java为Test.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)
在命令行执行编译命令:
javac Test.java
三、用文本编辑器(比如记事本/UltraEdit等 - 甚至用ECHO命令加管道“>>”)编写如下manifest文件,并保存为abc.txt
Manifest-Version: 1.0
Main-Class: Test
【注意】文件abc.txt内必须是3行文本:
第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”
第二行的英文冒号与Test之间必须要有一个英文空格!!!如果有包名一定要带上!!!包名.类名
第三行是一个空行,也就是说,你要在Test之后键入一个回车,然后才可以存盘退出!!!
如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。
该文件可以放在任何目录下
四、将Test.class打包成.jar文件,并使用abc.txt指明哪一个是带有public static void main()的“主函数”
在命令行执行编译命令:
jar cvfm Test.jar abc.txt *.class
如果有包名可以这样写,如包名为test,一定要在该包的上一层目录执行下面这句
jar cvfm Test.jar abc.txt test
你可以使用WinZip之类的解压软件看一看刚刚生成的Test.jar文件里到底有什么。
五、用鼠标双击Test.jar的图标,应该可以看到Test执行后的窗口。
〖说明〗如果你正确地安装了 Java运行环境(JRE),那么.jar的图标应该是象一页纸并有一个A的形状,就如同写字板的图标。
如果你的.jar文件默认的打开关联不对,可以重新设置:
我 的电脑->查看(Win9x)或工具(Win2k)->文件夹选项->文件类型->选择JAR文件->编辑该类型文件的属 性->操作栏填入[ open ](不填引号和中括号[]),并在“执行操作的应用程序”栏填入[ "C:\Program Files\Java\j2re1.4.1\bin\javaw.exe" -jar "%1" %* ](填两对英文引号,不填[])
并按“确定”、“关闭”退出对.jar文件关联的编辑。
(你的javaw.exe文件是不是位于C:\Program Files\Java\j2re1.4.1\bin\路径下,视你自己电脑的情况而定)
第三种:JB中生成.exe文件
1、菜单中选择【Wizards】-【Native Executable Builder....】弹出对话框
2、在弹出的对话框中第一步(Step 1 of 7)的【Name】输入一个名称,并取消【Always create archive when building the project】点击【Next】
3、根据需要悬着需要的类,再选择【Include class dependencies】,点击【Next】
4、根据需要悬着需要的库文件,再选择下面的4个单选,反复所有的需要的库,点击【Next】
5、默认点击【Next】
6、在(Step 5 of 7)的时候选择一个主类运行点击【Next】
7、在(Step 6 of 7)的时候选择运行平台【Next】
8、默认点击【Finish】,这时候在工程的目录窗口出现了一个在(Step 1 of 7)输入的【Name】目录
9、右击这个目录,选择【Rebuild....】,Jbuilder就开始编译和创建执行文件或是Jar文件了
10、等完成之后,该目录下右几个文件,一般是有至少一个jar文件,或是一个exe文件
11、在Window打开工程所在的目录,就可以看到里面的有几个刚才编译的文件
12、执行jar就是用java -jar ***.jar、执行exe直接双击
---------------------------------------------------------------
1、不建议使用jb,因为打包后可执行文件的图标改不了且jb的可执行文件实际上是可执行的jar文件,可以将其exe扩展名改为jar一样可执行。
2、还是使用jsmooth较好,首先编写menifest文件目的指明main类,使用jar命令打包成可执行jar文件,让后使用开源的jsmooth做成exe。
❹ 如何用jar命令对java工程进行打包
一. jar命令用法:
在cmd命令窗口下输入jar,回车,就会提示改命令的用法:
二.例子(这里介绍的都是生成双击可执行的jar包):
1.首先介绍如何在命令行下执行打包程序。
1.1.没有包结构的最简单的工程。
(1)在c:盘下新建文件“HelloWorld.java”:
1 public class HelloWorld
2 {
3 public static void main(String[] args){
4 System.out.println("Hello world!");
5 }
6 }
(2)在命令行下输入c:\javac HelloWorld.java,在c:盘下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest”(没有后缀名):
Main-Class: HelloWorld
注意最后要有一个空行,否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest HelloWorld.jar HelloWord.jar HelloWorld.class,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.2.有包结构的java工程。
(1)在c:\com\gosyl\demo\下新建文件“HelloWorld.java”:
package com.gosyl.demo;
public class HelloWorld{
public static void main(String[] args){
System.out.println("HelloWorld");
}
}
(2)在命令行下输入c:\javac com/gosyl/demo/HelloWorld.java,在c:\com\gosyl\demo\文件夹下编译生成“HelloWorld.class”。
(3)在c:盘下新建文件“menefest2”(没有后缀名):
Main-Class: com.gosyl.demo.HelloWorld
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(4)打包:输入c:\jar cvmf menifest2 HelloWorld.jar HelloWord.jar com/,在c:盘下生成“HelloWorld.jar”。
(5)执行:输入c:\java -jar HelloWord.jar。屏幕回显“HelloWorld”。
1.3.引用到外部jar包的java工程。
(1)在c:\com\gosyl\demo\下新建文件“Car.java”:
package com.gosyl.demo;
public class Car
{
public static void main(String[] args){
Light.on();
}
}
(2)在c:\com\gosyl\demo\下新建文件“Light.java”:
package com.gosyl.demo;
class Light
{
public static void on(){
System.out.println("Light is on!");
}
}
(3)打包1:输入c:\jar cvf Light.jar com/gosyl/demo/Light.class,在c:盘下生成“Light.jar”。
(4)在c:盘下新建文件“menefest-car”(没有后缀名):
Main-Class: com.gosyl.demo.Car
Class-Path: Light.jar
注意最后要有一个空行,冒号后面要一个空格。否则会出现找不到类的错误。
(5)打包2:输入c:\jar cvmf menifest-car Car.jar com/gosyl/demo/Car.class,在c:盘下生成“Car.jar”。
(6)执行:输入c:\java -jar Car.jar。屏幕回显“Light is on”。
三.总结
1.清单文件menifest,对格式要求很高,注意每个冒号后面要有一个空格,文件最后要有一个空行。
2.对于引用到外部jar包的工程,需要在manifest中定义好Class-Path属性。
3.对于双击.bat文件出现刷屏现象的情况,请直接把.bat文件的内容键入命令行执行。
4.对于重复签名的jar包,在META-INF里面会出现多个签名文件,删除掉多余的,保存其中一个才能保证jws正常启动。
❺ java 如何打开一个jar包
jar包的东西一般都是编译过的.class文件,如果要做二次开发,就要进行反编译,将文件反编译成.java文件。eclipse反编译我没用过,不知道效果怎么样。
❻ 如何把java程序打包成.jar
打包成一般的jar包的步骤如下:
1.输入如下命令即可:
Cmd代码
jar
cvf
counter.jar
-C
bin
.
其中,“-C
bin”实际上是告诉jar命令先cd到bin目录下,再在此目录执行没有参数“-C
bin”的命令,等价于:
2.Cmd代码
cd
bin
jar
cvf
counter.jar
.
//
"."代表当前路径