IDEA将项目打包为指定class文件的jar

简介: 公司最近要和某大公司合作,将本公司的产品提供给其它公司单独部署售卖,为了让产品中重要的服务具备防君子不防小人的作用,于是就写了一个单独的服务,通过aop拦截所有请求验证颁发的证书从而达到效果。

【背景】


   公司最近要和某大公司合作,将本公司的产品提供给其它公司单独部署售卖,为了让产品中重要的服务具备防君子不防小人的作用,于是就写了一个单独的服务,通过aop拦截所有请求验证颁发的证书从而达到效果。

   这个单独验证的服务需要以jar的形式嵌入到服务中,其中为了避免jar包的版本冲突问题,所以需要将校验服务打包为只包含本项目中对应class文件的jar(不包含任何maven依赖的jar)。

   注:这样所有第三方jar以及对应的版本全都交由最终引入验证服务jar的服务去管理(ps:编写SDK的时候一般也通过这样的方式)


【环境】


   idea版本:2017.1

   jdk版本:1.8

   windows版本:win8

   注:小编这个验证服务为maven项目


【过程】


   第一步:先通过idea中的install将项目中的java文件编译为class文件

   第二步:File——>Project Structure——>Project Settings——>Artifacts——>单击绿色加号——>JAR——>Empty

     

20190130100753854.png


   第三步:创建包文件夹,要和项目中的包结构一致(因为每个class的最上面package已经在项目中有明确指向了)

     

20190130100814654.png


   第四步:加入自己指定要打的class文件(该文件在第一步编辑完成之后的class文件中寻找),不同的包中的class需要先建立包结构再分别选择

     

2019013010082781.png


   第五步:执行编译打包出对应的jar

     

20190130100842789.png


【总结】


   小编首先收获的是慢慢的喜悦与成就感,下面就列举一下自己的成长总结:

   1.对IDEA将项目打包为指定class文件的jar有了深刻的理解(和自己之前写的IDEA中添加普通web项目形成对比)

   2.针对于在遇到问题提取百度搜索关键词有了深入思考

   3.遇到问题到最终相信自己能够解决问题有了更加坚定的信念


【扩展】


   如果要写一个jar工具,并且将依赖的包都集成进去的话请参考:解决问题--maven项目和需要依赖打成一个jar包(亲测好用)

   如果需要控制引入的jar的周期可以修改pom文件对应jar的scope标签,详情参考:maven中scope属性的

   注:这两个扩展内容小编没有自测,只是在查询前期针对于概念不太明确,所以这里就做为参考内容先放到这里,以后需要的话会详细研究测试再出相关博文。

相关文章
|
2天前
|
Java Maven
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
SpringBoot第一次导入项目,Maven依赖全爆红,该怎样解决,idea2019.3版本,必须用application2.7.6或者以下
|
8天前
|
Java 应用服务中间件 Android开发
【Eclipse IDEA】IDEA 导入 eclipse Web项目
【Eclipse IDEA】IDEA 导入 eclipse Web项目
|
8天前
|
Java 应用服务中间件 Maven
IDEA创建一个Servlet项目(tomcat10)
IDEA创建一个Servlet项目(tomcat10)
17 1
|
8天前
IDEA同一项目启动在不同端口方法
IDEA同一项目启动在不同端口方法
13 0
|
10天前
|
Java
IDEA创建多模块项目常用pom
IDEA创建多模块项目常用pom
35 8
|
10天前
|
Java 开发工具 git
java开发配置全局git忽略文件(IDEA)
java开发配置全局git忽略文件(IDEA)
11 0
|
10天前
|
JavaScript
IDEA打开vue项目并运行
IDEA打开vue项目并运行
13 1
|
10小时前
|
IDE Oracle Java
day4:JDK、IntelliJ IDEA的安装和环境变量配置
【7月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
5 0
|
3天前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
8 2
|
6天前
|
监控 IDE Java
探索 IntelliJ IDEA 中 Spring Boot 运行配置选项及其作用
探索 IntelliJ IDEA 中 Spring Boot 运行配置选项及其作用
12 0