idea+maven打包.jar发布项目
开发完项目后,idea+maven环境打包成.jar包,才能发布项目。下面记录常用的几种打包方式。
一,通过mvn命令打包
比较专业的用法是通过mvn命令打包:
mvn clean package -pl 这里是项目名称 -am
技巧:进到你的项目文件夹,在空白处按住 “Shift+右键” ,选择“在此处打开命令窗口”,然后按格式输入命令,回车,等待带包完成(注意看有没有异常输出)。示例如下:


打包成功后会在项目文件夹下有个 target文件夹,里面就是打包结果。其中.jar就是可发布的程序包了。本文下面有说明。
二,在Idea界面操作打包
在idea上打开已经开发好待发布的项目,在侧边栏(默认在右边栏)找到Maven窗口,找到要发布的项目,点击项目名称左边的三角,展开找到Lifecycle,展开找到package,右键“Run Maven Build”或者“Run 项目名称”按钮就可以了。然后等着底部的控制台输出打包过程日志,打包完成会显示.jar包所在位置。

个人觉得直接在界面操作常用些。
target文件夹说明:
打包成功后,在项目文件夹下回自动生成target文件夹。如下图:

我的理解是这样,这里面包含了打包的最终结果.jar包,也包含.jar.original包。网上说他俩的区别是这样:
.jar.original 是普通jar包,不包含依赖
.jar 是可执行jar包,包含了pom中的所有依赖,可以直接用java -jar 命令执行
如果是部署,就用.jar
如果是给别的项目用,就要给.jar.original这个包
还有classes文件夹先面存放java源代码编译后的.classes文件,静态资源文件,以及模板,还有项目配置文件。
maven-archiver文件加下指存放pom.properties文件,用来标识项目版本和项目ID信息,一般不管它。
generated-sources文件夹下存放额外生成的注解信息,一般为空,不管它。
maven-status文件夹暂时还不知道什么用,看样子也用不着它。
发布.jar注意事项:
如果你在项目下创建了多个项目配置文件,例如 application.properties(默认),application-release.properties那么在发布.jar的时候需要通过 spring.profiles.active= 指定用哪个配置文件,否则使用默认配置文件。
示例:
spring.profiles.active=dev
spring.profiles.active=release
【完】
idea+maven打包.jar发布项目的更多相关文章
- Maven打包jar项目
默认情况下,使用maven打包的jar项目(执行maven install)不会包含其他包引用,要想打包为带其他项目引用的jar,需要加入插件 要得到一个可以直接在命令行通过java命令运行的JAR文 ...
- 部署项目问题(maven打包jar不对应,导致启动时一直找不到某个类)
项目是springboot+maven 打包用maven的插件package 下面是打包后的目录结构 project-1.0 和project-1.0.tar.gz是一样的 区别就是一个是压缩包 ...
- Maven打包Jar
现状 该项目使用了Maven,并且引入了Spring,包含代码.配置文件.Jar包,使用的是IDEA来作为开发工具,项目的产出物是要打包成一个可运行的Jar包.通过IDEA的打包工具也可以打包成功,只 ...
- Maven打包时去掉项目版本号
Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢? 解决办法: 打开项目pom.xml文件,在<build> ...
- 关于Maven打包Java Web项目以及热部署插件Jrebel的使用
Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...
- idea使用maven打包jar包
1.在pom.xml中加入以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...
- 简单使用shell 自动打包,发布项目 脚本
(1)打包,发布脚本 deploy.sh packagepath=/home/admin/testProject/project application=testProject mkdir -p $p ...
- maven 打包jar && lib
一.springboot 打包成jar 1.pom.xml <build> <!-- jar的名称--> <finalName>shiro</finalNam ...
- MAVEN 打包JAR
<build> <finalName>edu-service-user</finalName> <resources> <resource> ...
- angular2 安装 打包成发布项目过程
安装之前要有typings和typescript全局已经安装好 安装命令新版为npm install -g @angular/cli 原来的angular-cli为老版的,我安装失败了 安装之后新建一 ...
随机推荐
- P7563 JOISC 2021 Day4 最悪の記者 4 (Worst Reporter 4)
P7563 JOISC 2021 Day4 最悪の記者 4 (Worst Reporter 4) 线段树合并好题,通过线段树合并特别的方式优化了树形 dp. 思路 根据图中的不等关系连边建图,不难发现 ...
- Navicat Premium 16下载与安装
1.可以通过以下两种方式下载 a.官网下载地址 https://www.navicat.com.cn/download/navicat-premium b.百度网盘下载地址 链接:https://pa ...
- php子孙树生成层级-递归篇
毫不废话,代码如下: <?php $list = [ ['id' => 1, 'pid' => 0, 'name' => '江苏'], ['id' => 2, 'pid' ...
- 一款绘制3D架构图的在线神器:iCraft Editor
在软件开发的世界里,架构图是系统设计的蓝图,它们不仅帮助团队理解系统的整体结构,还能提升沟通效率,确保项目的顺利推进.然而,绘制一张清晰.直观的架构图,往往需要大量时间和专业工具.面对繁琐的操作和复杂 ...
- Redis之客户端工具RedisInsight
RedisInsight简介 RedisInsight是Redis官方出品的可视化管理工具,可用于设计.开发.优化你的Redis应用.支持深色和浅色两种主题,界面非常炫酷!可支持String.Hash ...
- .NET Core 异步(Async)底层原理浅谈
简介 多线程与异步是两个完全不同的概念,常常有人混淆. 异步 异步适用于"IO密集型"的场景,它可以避免因为线程等待IO形成的线程饥饿,从而造成程序吞吐量的降低. 其本质是:让线程 ...
- 二进制安装Kubernetes(k8s)v1.32.0
二进制安装Kubernetes(k8s)v1.32.0 介绍 https://github.com/cby-chen/Kubernetes 开源不易,帮忙点个star,谢谢了 kubernetes(k ...
- 【Amadeus原创】Docker安装Nginx,并配置端口转发,配置SSL
1,docker安装Nginx [root@hecs-29489 ~]# docker pull nginx Using default tag: latest latest: Pulling fro ...
- Gitbook的docker安装配置
创建目录:/gitbook/gitbook 和 /gitbook/html /gitbook/gitbook目录下,touch新建README.md docker安装gitbook docker ru ...
- nanoFramework
nanoFramework 01: Getting started with nanoFramework! 08: .NET nanoFramework GPIO, I2C, SPI and othe ...