开发完项目后,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发布项目的更多相关文章

  1. Maven打包jar项目

    默认情况下,使用maven打包的jar项目(执行maven install)不会包含其他包引用,要想打包为带其他项目引用的jar,需要加入插件 要得到一个可以直接在命令行通过java命令运行的JAR文 ...

  2. 部署项目问题(maven打包jar不对应,导致启动时一直找不到某个类)

    项目是springboot+maven  打包用maven的插件package 下面是打包后的目录结构  project-1.0 和project-1.0.tar.gz是一样的  区别就是一个是压缩包 ...

  3. Maven打包Jar

    现状 该项目使用了Maven,并且引入了Spring,包含代码.配置文件.Jar包,使用的是IDEA来作为开发工具,项目的产出物是要打包成一个可运行的Jar包.通过IDEA的打包工具也可以打包成功,只 ...

  4. Maven打包时去掉项目版本号

    Maven打包后,jar或war文件名里带有版本号信息,如projectname0.0.1-SNAPSHOT.jar等,怎么去掉呢? 解决办法: 打开项目pom.xml文件,在<build> ...

  5. 关于Maven打包Java Web项目以及热部署插件Jrebel的使用

    Java Web/Eclipse/Maven/Tomcat 最近有个新项目是java web项目,记录一下,可能比较乱.虽然没接触过Java,但是eclipse还是用过的 初识项目 同事说,项目是ma ...

  6. idea使用maven打包jar包

    1.在pom.xml中加入以下内容: <?xml version="1.0" encoding="UTF-8"?> <project xmln ...

  7. 简单使用shell 自动打包,发布项目 脚本

    (1)打包,发布脚本 deploy.sh packagepath=/home/admin/testProject/project application=testProject mkdir -p $p ...

  8. maven 打包jar && lib

    一.springboot 打包成jar 1.pom.xml <build> <!-- jar的名称--> <finalName>shiro</finalNam ...

  9. MAVEN 打包JAR

    <build> <finalName>edu-service-user</finalName> <resources> <resource> ...

  10. angular2 安装 打包成发布项目过程

    安装之前要有typings和typescript全局已经安装好 安装命令新版为npm install -g @angular/cli 原来的angular-cli为老版的,我安装失败了 安装之后新建一 ...

随机推荐

  1. 3.21 Linux PATH环境变量及作用(初学者必读)

    在讲解 PATH 环境变量之前,首先介绍一下 which 命令,它用于查找某个命令所在的绝对路径.例如: [root@localhost ~]# which rm /bin/rm [root@loca ...

  2. FPGA开发中的复位问题

    一.为什么需要复位? 在FPGA上电时,需要对reg.fifo等器件进行复位,以确保系统处于已知的状态,同时可以通过复位清除系统的错误异常状态. 二.复位的方式 从是否与时钟同步与否可以分为异步复位和 ...

  3. Mysql数据类型面试题15连问

    整数类型的 UNSIGNED 属性有什么用? MySQL 中的整数类型可以使用可选的 UNSIGNED 属性来表示不允许负值的无符号整数.使用 UNSIGNED 属性可以将正整数的上限提高一倍,因为它 ...

  4. cmu15545笔记-Join算法(Join Algorithms)

    目录 Overview Nested Loop Join Naïve Block Index Sort-Merge Join Hash Join Simple Hash Join Partition ...

  5. .NET周刊【11月第3期 2024-11-17】

    国内文章 .NET 9使用Scalar替代Swagger https://www.cnblogs.com/netry/p/18543378/scalar-an-alternative-to-swagg ...

  6. 接口文档解决方案之Torna

    ◆一.开源项目简介 接口文档解决方案,目标是让接口文档管理变得更加方便.快捷.Torna采用团队协作的方式管理和维护接口文档,将不同形式的文档纳入进来统一维护. Torna弥补了传统文档生成工具(如s ...

  7. nginx之日志切割

    方便查看nginx日志, 平常会将nginx日志进行每日切割处理. 这里介绍 平常比较常用的两种方式 1. logrotate 在linux上logrotate是一个日志文件管理工具.用于分割日志文件 ...

  8. github访问不了解决方法

    github突然无法访问,解决办法如下-迷恋自留地 首先通过网址https://tool.chinaz.com/dns?type=a&host=github.com 修改hosts文件,win ...

  9. 鸿蒙NEXT开发案例:保质期计算

    [引言] 保质期计算应用是一个基于鸿蒙NEXT框架开发的数字和文本统计组件.用户可以输入商品的生产日期和保质期天数,应用会自动计算并展示相关信息,包括保质状态.剩余天数.生产日期和到期日期. [环境准 ...

  10. flutter安装过程中 flutter doctor 出现错误 cmdline-tools component is missing

    进入Android studio的settings添加tool工具