> CentOS > CentOS教程 >

Centos命令行执行Java程序(引入外部Jar)

最近在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不同,所以会导致这个错误。

(责任编辑:IT)