开发完项目后,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. Linux中的用户管理-创建删除修改

    用户管理 一.用户分类 用户分为三类: 1.管理员 root root UID:0 #拥有最高权限 默认系统中就一个 UID即user ID 类似于身份号码,唯一的,不可重复 2.虚拟用户 作用:在运 ...

  2. Fork/Join框架之Fork、Join操作

    Fork Fork就是一个不断分枝的过程,在当前任务的基础上长出n多个子任务. 当一个ForkJoinTask任务调用fork()方法时,当前线程会把这个任务放入到queue数组的queueTop位置 ...

  3. PasteEx:一款.NET开源的Windows快捷粘贴神器

    前言 PasteEx是一款.NET开源的用于增强 Windows 粘贴功能的小工具,它解决了将剪贴板内容保存为文件的繁琐步骤.无需打开记事本等应用,它可直接将文字.图片等内容粘贴到桌面上,极大提升了效 ...

  4. golang之设计模式

    [选项模式] package main import "fmt" type OptionFunc func(*DoSomethingOption) type DoSomething ...

  5. GodoOS 入选 Gitee 最有价值开源项目

    2024年11月1日,GodoOS荣耀地入选了GVP--Gitee最有价值开源项目.在GVP平台收录的418个杰出项目中,GodoOS作为唯一一款用GO语言开发的.维护中的跨平台webOS的桌面应用, ...

  6. 【Java基础】-- instanceof 用法详解

    1. instanceof关键字 如果你之前一直没有怎么仔细了解过instanceof关键字,现在就来了解一下: instanceof其实是java的一个二元操作符,和=,<,>这些是类似 ...

  7. 什么是.NET的强类型字符串(Strongly typed string)?

    在.NET中,强类型字符串(Strongly typed string)并不是一个官方的概念,是指使用特定的结构来表示某种类型字符串数据的编码实践.类似于枚举,可以提供编译时检查类型,减少运行时错误, ...

  8. Java框架 —— MyBatis

    MyBatis 简介  持久层框架,半自动映射,支持自定义SQL.高级映射.存储过程,免除了JDBC代码.参数设置.获取结果集的工 作,可以通过XML或注解方式配置.映射接口,以及实体类在数据库中的记 ...

  9. Spring框架IoC核心详解

    介绍 IoC(Inversion of Control:控制反转) 是一种设计思想,而不是一个具体的技术实现.IoC 的思想就是将原本在程序中手动创建对象的控制权,交由 Spring 框架来管理,由S ...

  10. uni-app项目分包后子包中静态资源丢失

    前情 uni-app是我比较喜欢的跨平台框架,它能开发小程序/H5/APP(安卓/iOS),重要的是对前端开发友好,自带的IDE让开发体验非常棒,公司项目就是主推uni-app. 坑位 随着项目越做越 ...