有个定时任务需求需要用java来完成,我就想到写一个程序打成jar包放到服务器上写个shell脚本做定时任务。

一、没有引用第三方jar的情况下,首先在eclipse上把项目打成jar

 1.右击项目——》Export——》java——》JAR flie ——》next

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

 2.Export generated class files and resoueces和Export Java source files and resources这两个要勾上!

JAR file是打成的jar的存放路径


java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

3.点击Next——》Next——》Main class是main的路径——》Finish

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

4.我的把打包的jar放到了桌面

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

二、上传到服务器不必多说,直接在放jar包的目录里运行:java -jar TEXT.jar

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

三、如果有引入第三方jar

 1.如果用到第三方jar而没有进行下面的步骤或引入不正确的话就会报类似下面的异常(我本人引入的第三方jar是数据库驱动)


java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

 2.用解压工具打开项目的jar包TEXT.jar(!注意:是打开不是解压),里面有个META-INF/MANIFEST.MF ,复制MANIFEST.MF到eclipse的项目下并打开,加入 Class-Path: lib/mysql-connector-java-5.1.34-bin.jar (!注意:Class-Path:后面有个空格),如果要引入多个第三方jar,就都加到Class-Path:后面(!注意:每个第三方jar的名称之间要有空格,不然会报错),而且要多一个换行,也就是光标在新的一行

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

 3.用这个MANIFEST.MF文件覆盖掉TEXT.jar里面的META-INF/MANIFEST.MF文件

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

 4.重新上传到服务器,在放jar包的同级下创建lib文件夹,用来放所有的第三方jar包(我的是因为只用到了数据库驱动)

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

java程序打成jar包,引入第三方jar,并在服务器上运行踩过的坑!

5.运行:java -jar TEXT.jar

运行成功,没报任何错误!!

希望我的经验能帮助到你们。
















相关文章:

  • 2021-11-02
  • 2021-11-23
  • 2021-07-16
  • 2021-06-20
  • 2021-12-09
  • 2021-05-19
  • 2021-09-29
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2021-06-03
  • 2021-05-30
  • 2021-05-28
  • 2022-12-23
  • 2021-11-28
  • 2021-12-04
相关资源
相似解决方案