IDEA打包的两种方式及注意事项
方式一、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打包的两种方式及注意事项相关推荐
- Maven项目依赖外部jar进行打包的两种方式
项目中除了pom.xml依赖之外,有时还依赖了其他jar包,如图: 依赖的方式如下: 点击Project Structure进行项目设置,在Modules中Dependencies标签中点击+号 添加 ...
- App打包的两种方式
在HBuilder上对APP提供了两种打包方式,云打包和本地打包,下面主要对这两种打包方式做个介绍 两者的区别:云打包相对简单,但是每天最多只能打包五次,而且在高峰期打包时间可能会很长,本地打包相对比 ...
- java 打包的两种方式
一.利用java 自带的util.zip 将多个文件打包在一个文件夹之中 import java.io.*; import java.util.ArrayList; import java.util. ...
- Android Studio签名打包的两种方式
http://www.cnblogs.com/gao-chun/p/4891275.html
- webpack打包的两种方式
https://segmentfault.com/a/1190000013647729
- 【Android 逆向】Android 进程代码注入原理 ( 注入本质 | 静态注入和动态注入 | 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 )
文章目录 一.注入本质 二.静态注入和动态注入 三.静态注入两种方式 ( 修改动态库重打包 | 修改 /data/app/packageName/libs/ 下的动态库 ) 一.注入本质 进程注入本质 ...
- idea 使用 Docker 打包镜像的两种方式_07
idea 使用 Docker 打包镜像的两种方式_07 一.方式: 一.idea 的docker 插件 和Dockerfile: 二.pom和Dockerfile结合. 二.详解 第一种: 1.第一步 ...
- Qt学习15:打包可执行文件.exe的两种方式
参考:Qt打包可执行文件.exe的两种方式_qt打包成可执行程序_阿衰0110的博客-CSDN博客
- android asynctask源码分析,Android通过Handler与AsyncTask两种方式动态更新ListView(附源码)...
本文实例讲述了Android通过Handler与AsyncTask两种方式动态更新ListView的方法.分享给大家供大家参考,具体如下: 有时候我们需要修改已经生成的列表,添加或者修改数据,noti ...
- maven生成war包的两种方式
war包即对WEB应用程序进行打包,用于应用容器的部署.如在jboss中只要把war包丢入deploy目录下即可发布自己的应用了.打包方式有很多中,很多工具本身就支持此功能.下面主要介绍通过maven ...
最新文章
- 这个 AI 模型火上 GitHub 热榜第一,在线修复照片
- Kubernetes Deployment与Replica Set
- 互联网女皇”Mary Meeker 2015互联网趋势报告说了些什么
- NLP之词向量:利用word2vec对20类新闻文本数据集进行词向量训练、测试(某个单词的相关词汇)
- JS中fori和forEach跳出循环的问题
- Linux环境下手动配置sbt
- oCPC:计算广告出价策略
- SharePoint 2013 - Sideloading
- 尾调用优化 java_为什么JVM仍然不支持尾调用优化?
- VMware虚拟机和Ubuntu系统的必备设置(包括下载地址,更新下载源等)
- 无线AP网络覆盖两种组网方式
- 值对于 int32 太大或太小。_失效值处理
- 拖拽之路(五):自定义QListWidget实现美观的拖拽样式(拖拽不影响选中 + doAutoScroll)
- php怎么定义会员时间为七天,php怎么定义会员时间为七天
- java treemap value排序_Java TreeMap升序|降序排列和按照value进行排序的案例
- 语音转写和语音听写_如何在Windows 10上使用语音听写
- 在线教育开源源码:消费者如何规避线上教育“陷阱”营销?
- linux 编辑 iso文件格式,这两款实用的光盘映像文件制作编辑软件让你处理ISO文件易如反掌...
- oracle cdb to no cdb,【CDB】怎样转换non-CDB to CDB
- 知乎账号登录+验证码