方式一、build打包

1、进入project structure

2、要选择启动类以及MANIFEST.MF选择src目录下即可

之后在项目里会生成一个META-INF文件夹,就是存储了项目的元信息,其中文件manifest.mf仅此一份,描述了程序的基本信息、Main-Class的入口、jar依赖路径Class-Path。(不用管就行)

3、进行build打包

打包后生成jar包应该位于项目下out目录中。(如果启动有问题无法解决,可尝试方式二)

方式二:maven打包

1、pom添加依赖

<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><!--选择启动类--><mainClass>com.sunsheen.DataArchivesApplication</mainClass><!--允许添加本地jar包--><includeSystemScope>true</includeSystemScope></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins>
</build>

如果有本地jar包需添加:

需要引入本地jar包,我把jar存放的项目中的/src/main/resources/lib 下

<dependency><groupId>org.gbase</groupId><artifactId>gbase-connector-java</artifactId><scope>system</scope><version>8.3</version><systemPath>${project.basedir}/src/main/resources/lib/gbase.jar</systemPath>
</dependency>

scope:需要配置指定为system;
systemPath:指向jar包的地址;
groupId、artifactId、version:可以随意填写,其中artifactId+version就是maven打包后的jar包名

之后先clean之前的target,再package就可以target目录下生成jar包了。

命令行方式:

<!--打jar包命令 mvn clean install -Dmaven.test.skip=true-->

<!--打war包命令 mvn clean package -Dmaven.test.skip=true-->

最后打包生成的文件:

.jar.original 是普通jar包,不包含依赖
.jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
如果是部署,就用.jar
如果是给别的项目用,就要给.jar.original这个包

IDEA打包的两种方式及注意事项相关推荐

  1. Maven项目依赖外部jar进行打包的两种方式

    项目中除了pom.xml依赖之外,有时还依赖了其他jar包,如图: 依赖的方式如下: 点击Project Structure进行项目设置,在Modules中Dependencies标签中点击+号 添加 ...

  2. App打包的两种方式

    在HBuilder上对APP提供了两种打包方式,云打包和本地打包,下面主要对这两种打包方式做个介绍 两者的区别:云打包相对简单,但是每天最多只能打包五次,而且在高峰期打包时间可能会很长,本地打包相对比 ...

  3. java 打包的两种方式

    一.利用java 自带的util.zip 将多个文件打包在一个文件夹之中 import java.io.*; import java.util.ArrayList; import java.util. ...

  4. Android Studio签名打包的两种方式

    http://www.cnblogs.com/gao-chun/p/4891275.html

  5. webpack打包的两种方式

    https://segmentfault.com/a/1190000013647729

  6. 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )

    文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...

  7. idea 使用 Docker 打包镜像的两种方式_07

    idea 使用 Docker 打包镜像的两种方式_07 一.方式: 一.idea 的docker 插件 和Dockerfile: 二.pom和Dockerfile结合. 二.详解 第一种: 1.第一步 ...

  8. Qt学习15:打包可执行文件.exe的两种方式

    参考:Qt打包可执行文件.exe的两种方式_qt打包成可执行程序_阿衰0110的博客-CSDN博客

  9. android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...

    本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...

  10. maven生成war包的两种方式

    war包即对WEB应用程序进行打包,用于应用容器的部署.如在jboss中只要把war包丢入deploy目录下即可发布自己的应用了.打包方式有很多中,很多工具本身就支持此功能.下面主要介绍通过maven ...

最新文章

  1. 这个 AI 模型火上 GitHub 热榜第一,在线修复照片
  2. Kubernetes Deployment与Replica Set
  3. 互联网女皇”Mary Meeker 2015互联网趋势报告说了些什么
  4. NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)
  5. JS中fori和forEach跳出循环的问题
  6. Linux环境下手动配置sbt
  7. oCPC:计算广告出价策略
  8. SharePoint 2013 - Sideloading
  9. 尾调用优化 java_为什么JVM仍然不支持尾调用优化?
  10. VMware虚拟机和Ubuntu系统的必备设置(包括下载地址,更新下载源等)
  11. 无线AP网络覆盖两种组网方式
  12. 值对于 int32 太大或太小。_失效值处理
  13. 拖拽之路(五):自定义QListWidget实现美观的拖拽样式(拖拽不影响选中 + doAutoScroll)
  14. php怎么定义会员时间为七天,php怎么定义会员时间为七天
  15. java treemap value排序_Java TreeMap升序|降序排列和按照value进行排序的案例
  16. 语音转写和语音听写_如何在Windows 10上使用语音听写
  17. 在线教育开源源码:消费者如何规避线上教育“陷阱”营销?
  18. linux 编辑 iso文件格式,这两款实用的光盘映像文件制作编辑软件让你处理ISO文件易如反掌...
  19. oracle cdb to no cdb,【CDB】怎样转换non-CDB to CDB
  20. 知乎账号登录+验证码

热门文章

  1. EXCEL函数常用技巧浅析
  2. java ssm商城_SSM网上购物商城系统
  3. SaaS-HRM(2)数据库设计与前端框架(企业管理前后台)
  4. xv6 Traps, interrupts, and drivers
  5. cf 684D - Traps
  6. 中国天气网城市代码爬取
  7. BI工具:cboard\superset 比较
  8. ATmega328P和ATmega328PB之间的差异
  9. 使用JMeter测试post请求
  10. 元胞自动机模型01——认识元细胞机模型