一、将需要的类编译后的class文件,将编译后的文件打包成jar包,可使用Eclipse的export功能。例如:loginadd.jar
二、可执行jar包的manifest.mf 文件格如下:
Manifest-Version: 1.0
Created-By: 1.6.0_10-beta (Sun Microsystems Inc.)
Main-Class: com.zuzhili.bussness.utils.ParseURL
Class-Path: lib/commons-lang-2.5.jar lib/filterbuilder.jar lib/htmllexer.jar lib/htmlparser.jar lib/mysql-connector-java-5.1.7-bin.jar lib/poi-3.9.jar lib/sitecapturer.jar lib/thumbelina.jar
注意:1、如果是需要执行main方法的 我们就需要Main-Class,即包含main方法的类。格式:包名+类名
2、Class-Path为依赖的jar包
3、以上三项用英文冒号开始,冒号后要有一个空格
4、Class-Path中如果有很多项,写成一行打包的时候会报错line too long,这时需要把Class-Path分 多行写。注意:从第二行开始,必须以两个空格开头
5、Class-Path写完之后最后一定要有一个空行
三、整理需要的jar包放到文件夹lib下
四:将二中的manifest.mf文件整理好后移到loginadd.jar里面
五、现在就只有两个有效文件了:loginadd.jar,lib
这两个文件必须平级存放。跟Class-Path中的路径有关
六:将上述两个文件放到linux服务器/opt/software目录下,执行
java -jar /opt/software/loginadd.jar >>loginadd &
nohup java -jar /opt/software/loginadd.jar >>loginadd &
注意:
1、在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。如果不加 就在控制台运行,关闭窗口或者ctrl+c就会停止执行
2、nohup:程序的的标准输出被自动改向到当前目录下loginadd文件,起到了log的作用。普通的一些程序,命令& 结尾,终端关闭,那么程序也关闭,使用nohup,即使终端退出,程序也不会关闭
java -jar **.jar的方式,用于jar包中包含manifest.mf 文件
java -cp foo.jar com.test.HelloWordMain,用于不包含manifest.mf 文件的情况
java -Djava.ext.dirs=<多个jar包的目录> com.test.HelloWordMain,用于不包含manifest.mf 文件的情况,且依赖多个jar包