本文讲的东西比较肤浅,高手们请路过,有不准确的地方,欢迎交流指正。
最近在windows下写了一个java程序,需要拿到centos系统中运行,本人在虚拟机上安装了centos系统,鼓捣了半天,翻阅了一下资料,有些东西记录一下,以便自己查阅,供有有兴趣人参考。
首先,确保系统安装了JDK,可在命令行中输入java -version查看,如果安装了,则显示版本信息。
1)在命令行中编译、运行程序
将整个工程目录拷贝到centos系统中,其中包括需要引入的外部jar包,保存在工程下lib文件夹中(此文件夹为手动创建)
打开命令行工具,进入到系统.java文件目录,我的文件目录结构为/MyFile/src/com/,我的lib文件夹与src在同一目录,其下包含MyHello.java文件,
命令行输入 javac -cp ../../lib/xxxx.jar MyHello.java,告知外部jar包路径,回车后会在此文件夹下生成MyHello.class文件,然后回到java文件包名所在目录,即src目录
命令行输入 java -cp .:../lib/xxxx.jar com.MyHello,便可运行java程序。(红色字体为程序的包名,一定要回到包的根目录执行)
2)将程序打成jar包后,在centos上运行
打jar包的过程,我直接上图
将生成的jar拷贝到centos系统中,在命令行中输入 java -jar FilterData.jar便可执行
需要注意的问题:
运行后会出现异常
Unsupported major.minor version 51.0
Could not find the main class: xxxxx. Program will exit.
这个应该是两个服务器上的JDK版本不一致,centos服务器上的JDK版本低于系统使用的JDK版本。
解决:项目------>右键------>属性------>Java Compiler------>Compiler Compliance Level------>选择你使用的JDK版本------>应用。
不同的JDK版本使用的major.minor不同,所以会导致这个错误。