记一次 Eclipse 打包的辛酸历程

1:背景

偶然的境况下,被迫使用了 Eclipse 进行代码。遇到的代码也有点奇怪,main 方法启动 java 工程,里面封装 Tomcat ,有点类似 SpringBoot 的封装。然后在打包的时候需要了一些问题。

2 maven 工程

1:安装 maven 打包插件
 war 包:需要 maven-plugin-war 
 jar 包:需要 maven-assembly-plugin

2:
eclipse 打包: 右键 maven-clean ,maven-build: Goals 中填入 package ,Update Snapshots 和 Skip Tests 打勾 ,执行
命令行打包:找到对应 pom.xml 文件,cmd 进入,先 mvn clean,再 mvn package -Pqa -Dskip Tests
 ps:dev(开发)、qa(测试)、pre(预发)、生产正式(prod)等配置文件,-P 参数,没有则不加

3 普通工程

很显然,我遇到的是普通工程,而且 JVM 配置了启动参数。经过很多时间的尝试,参考了很多资料,问了一些人,才得以成功。

3.1 打可执行的 jar

选Runnable JAR file点Next
在这里插入图片描述
选择主函数,选择导出路径,第三方依赖选择第三个,点Finish。
第一个Extract required libraries into generated JAR 为提取extract需要的依赖的库jar合成到jar文件里,引用的jar提取class到导出的jar里;
第二个Package required libraries into generated JAR 则仅仅打包依赖库到jar文件;
第三个Copy required libraries into a sub-folder next to the generated JAR 则把依赖库放到一个文件夹中,生成 jar 同时单独生成一个依赖包
ps:对于我遇到的这个项目,我开始一直选择的是第一个,打完 jar 后一直运行不成功,直到有人选择第三个成功了。
在这里插入图片描述

3.2 打普通 jar

1:准备主清单文件 “MANIFEST.MF”,
由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF
类似下面的结构,可以参考打可运行 jar 解压后的文件

    /**
     *  注意点:
     *  1:Class-Path: 和Main-Class: 后边都有一个空格,必须加上,否则会打包失败,错误提示为:Invalid header field;
     *  2:建立的  MANIFEST.MF 要和依赖的 lib 文件夹在同一级,且打包文件也要选择在这一级,否则将会出现“Exception in thread “main”
     *  3:如果导入的第三方jar包太多的话,同一行的中间用一个空格隔开,如果换行后,第一个前面要有两个空格
     *  4:Main-Class后面是类的全地址,写src 下的全部包名.类名
     *  5:写完Main-Class后一定要回车(即最后一行是空白行),让光标到下一行,这样你生成的jar包才能找到你的主class去运行
     */
Manifest-Version:  1.0
Class-Path: lib/commons-codec.jar lib/commons-httpclient-3.1.jar
   lib/commons-logging-1.1.jar lib/log4j-1.2.16.jar lib/jackson-all-1.8.5.jar
Main-Class:  main.KillCheatFans

2:选择JAR file->Next
在这里插入图片描述
3:选择打包的目录,导出文件选择第一项,和 jar 包存放的位置(和主清单以及 lib 在同一级)

  • Export generated class files and resources 表示只导出生成的.class文件和其他资源文件
  • Export all output folders for checked projects 表示导出选中项目的所有文件夹
  • Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了
  • Export refactorings for checked projects 把一些重构的信息文件也包含进去
    在这里插入图片描述
    4:点Next
    在这里插入图片描述
    5:选择刚刚自定义的配置文件。点Finish ,等待打包完成
    在这里插入图片描述

4: 运行 jar 包

上面针对这个项目的,打可执行包,以及创建主清单,打jar 包,然后 去运行,我都尝试成功了。另外,在这个项目启动的时候,带了一些 JVM 参数,需要在启动的时候配置。在 CMD 启动后,输入类似下面的内容即可(不一定有, 没有的的话 java -jar 就行)

// 注意:有些喜欢在main 方法配置${workspace_loc} ,这个就是当前项目下,换成直接路径即可
java --Xms2048M -XX:Persize=256M   -D  ...   -D ...      -jar server.jar
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值