--------------------------------
使用eclipse打jar包注意事项:
1、选择需要打包的工程,只选中src。
选中 Export generated class files and resources。
选中 Compress the contents of the JAR file。
选中 Overwrite existing files without warning。
2、选中 Export class files with compile warnings。
即可完成打包。
[color=yellow]若提示unable to access jarfile
如果报错,看看MANIFEST.MF这个文件里有没有给Main-Class指定主类 [/color][color=orange]图解链接[/color][url]http://java-beginner-liyun.iteye.com/blog/736752[/url]
----------------------------------------------
[color=red]命令打可执行jar包: [/color]
1.将源文件拷贝到d:\jartest;
2.在cmd命令下进入jartest该目录;
配置:
set path=C盘下jdk1.5.0_05\bin所在的目录 --你自己的jdk安装目录
set classpath=. --当前路径
执行命令javac -d . 类.java -----(编译class文件)
3.删除源文件;
4.jar -cvf tt.jar ./ -----(此处打包成不可执行jar包 tt为打包后的名字 ./为整个当前目录 指定要打包的文件)
5.jar -xvf tt.jar -----解压
6.删除tt.jar
7.修改META-INF下的MAMFEST.MF文件,追加一句
Main-Class: <插入一空格>包路径.类名<回车> -----此包路径为package后的路径 以.隔开(如果有第三方的jar文件 再加上 classpath:lib/a.jar lib/b.jar lib目录下面放要第三方jar文件)
8.jar -cvfM tt.jar * -----打包
9.java -jar tt.jar -----命令运行jar包 也可双击击运行
我们在打包时,只要不在当前路径下进行打包,对其它路径下的一个目录进行打包,往往含他自己的路径,可以用下面的命令去掉那些路径:
第一种:jar cvfm test.jar c:\manifest.mf -C c:\test \ 注意:后面的 \ 可以换成点
第二种:jar cvf test.jar -C c:\test \ 注意:后面的 \ 可以换成点
第三种:jar -cvf test.jar -C c:\test \ 注意:后面的 \ 可以换成点
[color=red]打包可执行jar文件的一些注意事项:[/color] jar cvfm [目标.jar] [MANIFEST文件名] [应用程序所在目录]
MANIFEST文件名随便,但jar参数中的"m"不可少,否则在jar文件中你会看到一个只有版本号的MANIFEST.MF文件。
MANIFEST文件,也叫标明文件,清单文件,用来记录jar文件的相关信息。为了打包可执行jar文件,必须创建带jar文件主类的信息的MANIFEST文件。在任意位置,如:E:\temp,创建名为myManifest的文件,用文本编辑器编辑该文件,加入下行:
Main-Class: 应用程序主类的路径名+回车
回车是必须的,否则MANIFEST.MF中只有版本号。主类的路径名如:com.AppMain (假设在E:\temp\中有个com 目 录,com中有个属于com包的AppMain.class)
应用程序所在目录,当然就是com啦,如果我们在e:\temp下打包,则可以输入:
jar cvfm AppMain.jar myManifest com
[color=red]#压缩java文件, 打成war包[/color]
1.打开要打包的文件夹(cd 目录)
2.配置
set path=C盘下jdk1.5.0_05\bin所在的目录 --你自己的jdk安装目录
set classpath=. 当前路径
3.jar cvf tt.war ./ --(./表示当前文件下所有文件,要有 命令格式:java cvf 打包文件名称 要打包的目录 打包文件保存路径)
4.解压自然就是: jar xvf temp.war
[color=red]在包涵第三方jar包情况下在eclipse下打jar包:[/color] 在你的项目文件夹下建一个META-INF文件夹里面新建一个
MANIFEST.MF的文件内容大至如下
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.5.0_06-57 ("Apple Computer, Inc.")
Main-Class: com.opensymphony.workflow.designer.Launcher
Class-Path: looks.jar forms.jar syntax.jar jgraph.jar foxtrot.jar osworkflow-2.8.0.jar oscore-2.2.5.jar
Main-Class就是你要运行的类。
Class-path:就是你要引入的包
用eclipse export导出jar文件里,选择
user existing manifest from workspace
manifest file:/你的项目名/src/META-INF/MANIFEST.MF
点击完成。这样应该就可以了
----------------------------------------------------------
插件FatJar
下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse的plugins下,重新启动Eclipse3.1,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:\eclipse310\configuration\org.eclipse.update\platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失,没事。刚开始找不到如何使用它,后来看到你的项目=〉Export..=>向导里有fat jar =>使用起来真的很方便。 总结:一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.
fatJar这插件打包的时候可把用到的第三方的JAR包也一起打到目标JAR中
---------------------------------------------、
[color=red]通过bat文件运行jar包程序[/color]通过jar命令或集成开发环境的打包工具,利用manifest.mf文件将.class文件打成可执行jar包时,如果程序引用大量第三方的jar包,那么会使得manifest.mf文件的编写变得很繁琐,并且可执行的jar需要运行机器上装有jre,考虑通过编写bat文件运行jar包程序。
过程如下:
1 对自己编写的java文件,对其编译,将class文件打成jar包(包名eg DMManager.jar)
2 新建文件夹,作为应用程序的home文件夹(文件夹名eg DMManager)
3 在DMManager文件夹下建立子文件夹lib、bin、jdk
4 将DMManager.jar放入lib下
5 在lib下新建子文件夹other
6 将程序所需的第三方jar包放至other下
7 处理jdk文件夹,jdk文件夹是个可选项,如果要使得程序的执行不依赖与目标机是否装有jre运行环境,那么需将本地JAVA_HOME文件夹下的内容拷贝至该文件夹下
8 编写bat文件(*.bat)
a 利用目标机的jre(第7步可省)
@echo off
cd ..
set APP_HOME=%cd%
cd bin
start "" "%JAVA_HOME%\bin\javaw.exe" -classpath "%APP_HOME%\lib\DMManager.jar" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext";"%APP_HOME%\lib\other" -Xms256m -Xmx512m my.package.name.Main
b 利用自身的jre(第7步不能省)
@echo off
cd ..
set APP_HOME=%cd%
set JAVA_HOME=%APP_HOME%\jdk
cd bin
start "" "%JAVA_HOME%\bin\javaw.exe" -classpath "%APP_HOME%\lib\DMManager.jar" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext";"%APP_HOME%\lib\other" -Xms256m -Xmx512m my.package.name.Main
9 将*.bat文件放至bin下
10 双击*.bat试试运行效果如何。。。 over
使用eclipse打jar包注意事项:
1、选择需要打包的工程,只选中src。
选中 Export generated class files and resources。
选中 Compress the contents of the JAR file。
选中 Overwrite existing files without warning。
2、选中 Export class files with compile warnings。
即可完成打包。
[color=yellow]若提示unable to access jarfile
如果报错,看看MANIFEST.MF这个文件里有没有给Main-Class指定主类 [/color][color=orange]图解链接[/color][url]http://java-beginner-liyun.iteye.com/blog/736752[/url]
----------------------------------------------
[color=red]命令打可执行jar包: [/color]
1.将源文件拷贝到d:\jartest;
2.在cmd命令下进入jartest该目录;
配置:
set path=C盘下jdk1.5.0_05\bin所在的目录 --你自己的jdk安装目录
set classpath=. --当前路径
执行命令javac -d . 类.java -----(编译class文件)
3.删除源文件;
4.jar -cvf tt.jar ./ -----(此处打包成不可执行jar包 tt为打包后的名字 ./为整个当前目录 指定要打包的文件)
5.jar -xvf tt.jar -----解压
6.删除tt.jar
7.修改META-INF下的MAMFEST.MF文件,追加一句
Main-Class: <插入一空格>包路径.类名<回车> -----此包路径为package后的路径 以.隔开(如果有第三方的jar文件 再加上 classpath:lib/a.jar lib/b.jar lib目录下面放要第三方jar文件)
8.jar -cvfM tt.jar * -----打包
9.java -jar tt.jar -----命令运行jar包 也可双击击运行
我们在打包时,只要不在当前路径下进行打包,对其它路径下的一个目录进行打包,往往含他自己的路径,可以用下面的命令去掉那些路径:
第一种:jar cvfm test.jar c:\manifest.mf -C c:\test \ 注意:后面的 \ 可以换成点
第二种:jar cvf test.jar -C c:\test \ 注意:后面的 \ 可以换成点
第三种:jar -cvf test.jar -C c:\test \ 注意:后面的 \ 可以换成点
[color=red]打包可执行jar文件的一些注意事项:[/color] jar cvfm [目标.jar] [MANIFEST文件名] [应用程序所在目录]
MANIFEST文件名随便,但jar参数中的"m"不可少,否则在jar文件中你会看到一个只有版本号的MANIFEST.MF文件。
MANIFEST文件,也叫标明文件,清单文件,用来记录jar文件的相关信息。为了打包可执行jar文件,必须创建带jar文件主类的信息的MANIFEST文件。在任意位置,如:E:\temp,创建名为myManifest的文件,用文本编辑器编辑该文件,加入下行:
Main-Class: 应用程序主类的路径名+回车
回车是必须的,否则MANIFEST.MF中只有版本号。主类的路径名如:com.AppMain (假设在E:\temp\中有个com 目 录,com中有个属于com包的AppMain.class)
应用程序所在目录,当然就是com啦,如果我们在e:\temp下打包,则可以输入:
jar cvfm AppMain.jar myManifest com
[color=red]#压缩java文件, 打成war包[/color]
1.打开要打包的文件夹(cd 目录)
2.配置
set path=C盘下jdk1.5.0_05\bin所在的目录 --你自己的jdk安装目录
set classpath=. 当前路径
3.jar cvf tt.war ./ --(./表示当前文件下所有文件,要有 命令格式:java cvf 打包文件名称 要打包的目录 打包文件保存路径)
4.解压自然就是: jar xvf temp.war
[color=red]在包涵第三方jar包情况下在eclipse下打jar包:[/color] 在你的项目文件夹下建一个META-INF文件夹里面新建一个
MANIFEST.MF的文件内容大至如下
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.2
Created-By: 1.5.0_06-57 ("Apple Computer, Inc.")
Main-Class: com.opensymphony.workflow.designer.Launcher
Class-Path: looks.jar forms.jar syntax.jar jgraph.jar foxtrot.jar osworkflow-2.8.0.jar oscore-2.2.5.jar
Main-Class就是你要运行的类。
Class-path:就是你要引入的包
用eclipse export导出jar文件里,选择
user existing manifest from workspace
manifest file:/你的项目名/src/META-INF/MANIFEST.MF
点击完成。这样应该就可以了
----------------------------------------------------------
插件FatJar
下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹拷贝到eclipse的plugins下,重新启动Eclipse3.1,Windows=>prefernce=>fat jar preference看到他就说明已经安装成功了。如果没有看到,没有关系,删除D:\eclipse310\configuration\org.eclipse.update\platform.xml文件(此文件可以自动生成)不用担心以前的插件会因此而消失,没事。刚开始找不到如何使用它,后来看到你的项目=〉Export..=>向导里有fat jar =>使用起来真的很方便。 总结:一般把src打包export=>Jar File 即可。想把src附属的资源一起打包,必须使用FatJar => export..=>FatJar.
fatJar这插件打包的时候可把用到的第三方的JAR包也一起打到目标JAR中
---------------------------------------------、
[color=red]通过bat文件运行jar包程序[/color]通过jar命令或集成开发环境的打包工具,利用manifest.mf文件将.class文件打成可执行jar包时,如果程序引用大量第三方的jar包,那么会使得manifest.mf文件的编写变得很繁琐,并且可执行的jar需要运行机器上装有jre,考虑通过编写bat文件运行jar包程序。
过程如下:
1 对自己编写的java文件,对其编译,将class文件打成jar包(包名eg DMManager.jar)
2 新建文件夹,作为应用程序的home文件夹(文件夹名eg DMManager)
3 在DMManager文件夹下建立子文件夹lib、bin、jdk
4 将DMManager.jar放入lib下
5 在lib下新建子文件夹other
6 将程序所需的第三方jar包放至other下
7 处理jdk文件夹,jdk文件夹是个可选项,如果要使得程序的执行不依赖与目标机是否装有jre运行环境,那么需将本地JAVA_HOME文件夹下的内容拷贝至该文件夹下
8 编写bat文件(*.bat)
a 利用目标机的jre(第7步可省)
@echo off
cd ..
set APP_HOME=%cd%
cd bin
start "" "%JAVA_HOME%\bin\javaw.exe" -classpath "%APP_HOME%\lib\DMManager.jar" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext";"%APP_HOME%\lib\other" -Xms256m -Xmx512m my.package.name.Main
b 利用自身的jre(第7步不能省)
@echo off
cd ..
set APP_HOME=%cd%
set JAVA_HOME=%APP_HOME%\jdk
cd bin
start "" "%JAVA_HOME%\bin\javaw.exe" -classpath "%APP_HOME%\lib\DMManager.jar" -Djava.ext.dirs="%JAVA_HOME%\jre\lib\ext";"%APP_HOME%\lib\other" -Xms256m -Xmx512m my.package.name.Main
9 将*.bat文件放至bin下
10 双击*.bat试试运行效果如何。。。 over