转自:https://blog.csdn.net/makang456/article/details/86699375

【背景】

    公司最近要和某大公司合作,将本公司的产品提供给其它公司单独部署售卖,为了让产品中重要的服务具备防君子不防小人的作用,于是就写了一个单独的服务,通过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

        

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

        

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

        

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

        
【总结】

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

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

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

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

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

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

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

IDEA将项目打包为指定class文件的jar的更多相关文章

  1. 十六:SpringBoot-自定义启动页,项目打包和指定运行环境

    SpringBoot-自定义启动页,项目打包和指定运行环境 1.自定义启动页 2.打包配置 2.1 打包pom配置 2.2 多环境配置 3.环境测试接口 4.打包执行 4.1 指定模块打包 4.2 运 ...

  2. vue2.0 配置build项目打包目录、资源文件(assets\static)打包目录

    vue项目默认的打包路径:根目录下的dist文件夹下: 但是在项目开发中,我们肯定希望项目提交到svn目录或者git目录下,否则每次复制过去,太麻烦了: 那怎么配置打包路径呢?下面来看看: 我们找到打 ...

  3. vue项目打包,生成dist文件夹,如何修改文件夹的名字

    vue项目打包之后的dist文件目录是如下 如果想要修改dist或则static文件名称,需要打开config / index.js build: { // Template for index.ht ...

  4. 怎么将java项目打包成双击就可以运行的jar包---fatjar

    fatjar下载地址:http://pan.baidu.com/s/1cQ01o 下载fatJar插件,解压缩后是一个.../plugins/(net...)把plugins下面的(net..)文件夹 ...

  5. 将Java项目打包成可以独立运行的Jar包

    因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...

  6. SpringBoot2.0 基础案例(17):自定义启动页,项目打包和指定运行环境

    本文源码 GitHub地址:知了一笑 https://github.com/cicadasmile/spring-boot-base 一.打包简介 springboot的打包方式有很多种.可以打war ...

  7. Maven项目打包时指定配置策略

    以数据库连接池的配置文件(db.properties)为例,一般的项目会有开发用数据库,测试用数据库,正式环境数据库三种配置. 以前的做法是拷贝成三份,注释掉其他了两份 # 开发用 jdbc.url ...

  8. netbeans 将项目打包生成单个可执行的 jar

    原文:netbeans 打包生成 jar 文件页里找到build.xml文件,打开在</project>前 加入以下代码保存之 <target name="package- ...

  9. 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片)

    解决 将Python项目打包成EXE可执行文件(单文件,多文件,包含图片) 1.当我们写了一个Python的项目时,特别是一个GUI项目,我们特备希望它能成为一个在Windows系统可执行的EXE文件 ...

随机推荐

  1. Spring Boot中的事务管理 隔离级别

    在声明事务时,只需要通过value属性指定配置的事务管理器名即可,例如:@Transactional(value="transactionManagerPrimary"). 除了指 ...

  2. 反省——关于csp-s模拟50

    本人于搜索csp-s模拟49题解时,有意识地点开了一篇关于csp-s模拟50T2的题解,并知道了题解是二维前缀和以及四维偏序. 更重要的是,那篇博客说有解法二,叫二维莫队. 于是我上网搜索二维莫队,结 ...

  3. 黑马vue---20、v-if和v-show的使用和特点

    黑马vue---20.v-if和v-show的使用和特点 一.总结 一句话总结: v-if 的特点:每次都会重新删除或创建元素 v-show 的特点: 每次不会重新进行DOM的删除和创建操作,只是切换 ...

  4. spring clound gateway 上传文件,中文文件名乱码解决办法

    先说解决办法吧: 有三种解决办法 1 ,zuul官方给出了解决方案,使用/zuul开头的请求可以避免中文名乱码以及支持大文件上传 域名是 testgateway.com  接口是  api/image ...

  5. Mysql 逗号分隔行列转换总结

    方法一 存储过程实现: -- 修改结束符,防止在mysql命令行中默认分号直接运行 delimiter $$ -- 创建一个计算拆分后字符串的个数函数 drop function if exists ...

  6. spring + mybatis + mysql/oracle开发

    1)创建一个spring-mybatis-mysql这么一个javaweb或java工程 2)导入spring-ioc,spring-aop,spring-transaction,mybatis,c3 ...

  7. SpringMVC整合Springfox-Swagger

    https://www.jianshu.com/p/ab10860945c3 验证通过 关于Swagger的简介就不占篇幅了... 本文使用的Springfox-Swagger版本为2.8.0 要整合 ...

  8. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍

    笔记 第一章项目介绍和前期准备 1.SpringBoot整合微信支付开发在线教育视频站点介绍     简介: 课程介绍,和小D课堂在线教育项目搭建开发 1.课程大纲介绍         2.微信支付项 ...

  9. Elasticsearch 空值过滤

    参考:https://blog.csdn.net/zhang862520682/article/details/80333196 参考:https://www.jianshu.com/p/7a5d70 ...

  10. VS2012编译php扩展

    注意:用VS2015来做会比较好! 开发前准备工作:cygwinvisual studio 2012php编译后的程序      使用的是 xampp集成安装包,所以编译后的程序路径为D:\xampp ...