虽说java的跨平台性很好,但是今天在部署一个java程序到AIX/400机器上时,在Eclipse里面编译好的jar文件偏偏不能运行,估计是JDK版本问题。无奈只好亲手手动在UNIX上编译jar文件了。
我的工作环境如下:在$HOME(就是/home/$LOGNAME)下,有一个文件夹work(这里就不用真实的项目名了),存放着我的源代码,就是XXX.java了,里面只有一个类叫work.XXX。
在$HOME/下运行:
javac work/XXX.java
编译生成的XXX.class会存在$HOME/work/下。然后在$HOME里写manifest.mf清单文件,内容为:
Manifest-Version: 1.0
Main-Class: PVCS.Remove_Control_M
然后再在$HOME/下运行:
jar cfvm XXX.jar manifest.mf work/XXX.class
就会在$HOME/下生成XXX.jar了。
生成的JAR文件运行方法:
java -jar XXX.jar
如果要在命令行参数上面加路径之类的话,默认为当前目录./
实际证明,在Windows的IDE里面生成的jar在UNIX下不一定能用,但是在UNIX下手工生成的jar文件一般都能在Windows上正常运行。