做为一个彻头彻尾的菜鸟,最近需要在服务器上跑代码,揪心的事可真不少。
在本地写完代码了,得打包上传到服务器。问题来了,那么多第三方的jar包怎么办?
要么打成 Runnable的jar包吧,每次打的包都好大,上传效率太低了。要是遇上那种bug还有很多的代码,那就够麻烦了。要么打成普通的jar包,不把第三方的包包含进来,然后在profile中(linux系统下)修改classpath的值,这样也是可以的,但是如果第三方的Jar包很多,需要修改的classpath就很多了,也不大方便。
所以,我用的方法是这样的,
1. 第一次打包的时候打成Runnable的Jar包(此时需要指定mainclass),这样把这个工程所需要的jar包都包含进jar包了,比如生成了 a.jar,上传这个jar包到服务器,就可以直接跑了,可以使用命令:
java a.jar
(我感觉好像很不方便呀,如果需要同时执行多个class,可是runnable只能指定一个mainclass,这要怎么办?)
2. 把工程下已经编译好的class文件(文件夹也可以)上传到服务器,然后使用如下命令来执行类test:
java -cp a.jar test -cp 即指定classpath为之前打包好的Jar包,这样所需要的class都能在这个jar包中找到了。 test就是要执行的主类
这种方法可以同时执行多个类,也保证了所有的第三方Jar包都能找到。同时,如果在本地修改了其中一个类,那么只需要重新上传这个修改了的类的.class文件就可以了,也很方便。 不知道有没有说错的地方,欢迎指正。 |