将写好的java程序放到Linux上执行,可以利用Linux服务器更快的跑完程序。由于我windows和linux下使用的jdk版本不同,因此将windows的java程序打成jar包后在linux下运行总会报错。于是只能在Linux下使用javac命令编译生成class文件后再运行。
此时遇到一个问题,我的java文件需要引入一个外部的jar包。在这种情况下如何进行编译运行呢?在多次尝试后,总结方法如下:
1、将外部jar包(javacsv.jar)放在Linux路径下面。如/home/cys/lib.
2、将需要编译的java文件(CsvTest.java)放在Linux路径下。如/home/cys/test
3、编译已经写好的java文件,命令如下:
javac -cp /home/cys/lib/javacsv.jar /home/cys/lib/CsvTest.java
生成CsvTest.class文件。
4、运行程序,命令如下:
java -cp /home/cys/lib/javacsv.jar:/home/cys/lib/CsvTest CsvTest
结果运行正确。
需要注意的几点是:
1、编译的时候,需要使用-cp环境变量来引入外部jar的地址。-cp也可以换成-classpath。
2、运行过程中,环境变量-cp中一定要加入编译时候生成的class文件的路径。并且用冒号分割。记住,在windows下环境变量是使用引号分割的。但是在Linux下环境变量需要使用冒号分割。
此时遇到一个问题,我的java文件需要引入一个外部的jar包。在这种情况下如何进行编译运行呢?在多次尝试后,总结方法如下:
1、将外部jar包(javacsv.jar)放在Linux路径下面。如/home/cys/lib.
2、将需要编译的java文件(CsvTest.java)放在Linux路径下。如/home/cys/test
3、编译已经写好的java文件,命令如下:
javac -cp /home/cys/lib/javacsv.jar /home/cys/lib/CsvTest.java
生成CsvTest.class文件。
4、运行程序,命令如下:
java -cp /home/cys/lib/javacsv.jar:/home/cys/lib/CsvTest CsvTest
结果运行正确。
需要注意的几点是:
1、编译的时候,需要使用-cp环境变量来引入外部jar的地址。-cp也可以换成-classpath。
2、运行过程中,环境变量-cp中一定要加入编译时候生成的class文件的路径。并且用冒号分割。记住,在windows下环境变量是使用引号分割的。但是在Linux下环境变量需要使用冒号分割。