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为老版的,我安装失败了 安装之后新建一 ...
随机推荐
- 3.6 Linux命令基本格式
本节开始,我们不会再见到图形界面了,因为对服务器来讲,图形界面会占用更多的系统资源,而且会安装更多的服务.开放更多的端口,这对服务器的稳定性和安全性都有负面影响.其实,服务器是一个连显示器都没有的家伙 ...
- CSP模拟58联测20 T3 注视一切的终结
CSP模拟58联测20 T3 注视一切的终结 题面及数据范围 Ps:链接为衡水中学OJ. 去除重边以后是树,而我们需要使一个点到另外一个点的简单路径上相邻边的颜色尽可能不相同. 发现如果一条边有 \( ...
- ThreeJs-01开发环境搭建
写在前面,好久不见各位,之前一段时间因为一些事情有点忙,但从未停止学习的脚步,也屯了很多笔记,会在未来的时间慢慢发出来,从今天开始一起进入WebGis,threeJs目前大前端发展的一个方向开始学习, ...
- Java GC 调试手记
摘要 本文记录GC调试的一次实验过程和结果. GC知识要点回顾 问题1:为什么要调试GC参数?在32核处理器的系统上,10%的GC时间导致75%的吞吐量损失.所以在大型系统上,调试GC是以小博大的不错 ...
- 进程管理工具之PM2
Github地址 https://github.com/Unitech/pm2 官方文档 http://pm2.keymetrics.io/docs/usage/quick-start/ npm安装 ...
- HarmonyOS Next 入门实战 - 导航框架:页面路由、组件导航(Navigation)
页面路由 官方不推荐使用页面路由,这里仅做简单介绍. 页面路由用于标识 @Entry 注解的页面间的跳转. 包引入 import { router } from'@kit.ArkUI'; 页面跳转 r ...
- 使用Docker快速部署一个Net项目
前言 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化. 优点 Web 应用的自动化打包和发布. 自动化测试和 ...
- Java框架 —— MyBatis
MyBatis 简介 持久层框架,半自动映射,支持自定义SQL.高级映射.存储过程,免除了JDBC代码.参数设置.获取结果集的工 作,可以通过XML或注解方式配置.映射接口,以及实体类在数据库中的记 ...
- 前端每日一知之让Chrome支持小于12px的文字
脑图在线链接 本文内容依据[js每日一题]公众号精彩文章总结而来
- Chats 开发指南
Chats 开发指南 欢迎使用 Chats!在我上一篇博客 https://www.cnblogs.com/sdcb/p/18597030/sdcb-chats-intro 中,我介绍了 Chats ...