美文网首页我爱编程
maven教程(下)在ide下的快速打包指南

maven教程(下)在ide下的快速打包指南

作者: 文思li | 来源:发表于2018-04-14 01:03 被阅读0次

                                                                  原创者:文思

    什么是maven及maven的基本常识这里就不再描述了,直接介绍ide中maven插件的基本用法,以及maven在spring boot项目中打包时容易遇到的坑。

    一、插件介绍

    1、myeclipse中maven插件简介

    Maven4MyEclipse是Maven和MyEclipse

    IDE之间进一步的整合和常用插件。这种整合消除了一些Maven用户最常见的障碍,包括:

    a 从MyEclipse类路径容器的后台安装Sun JARs到您的本地Maven仓库中

    b 运行时的JDK简单配置和编译时的Maven

    c  简单安装自己的JAR到Maven仓库中

    d  停留在IDE中并可以从UI中执行所有的Maven任务

    前两个分别是添加依赖与插件,与在pom中直接编辑添加无异:

    Download Source与javaDoc是下载源码与文档,不用细说.

    update project本身是更新项目的意思,当修改了pom文件没有自动及时生效时,update project会更新相对应的“eclipse的.classpath”文件,手工更新项目。

    备注:如果原JDK版本为1.7, 使用Maven > Update project的时候JDK版本都恢复成1.5的话,在“pom.xml”文件中增加如下配置之后再次重新Maven > Update project即可:

    Disable Maven Nature转为一般工程

    Enable Workspace Resolution:打开这个选项以后,在Workspace中配置的工程才会作为依赖工程,如果disable之后,则会被视为静态的依赖jar包。

    打开时如下:

    关闭时:

    二、打包

    打包有两种方式:第1种是maven install,这个时候不用配置命令的,右键工程--》run as 或者dabug as 中都有,如果之前打过包了,但还没有清除容易失败,所以打包前最好先clean一下。第2中在doc下手工执行maven的package打包的命令。

    1:ide中打包

    1.1利用ide中的maven build只打包,不发布

    首先,maven没有build命令,ide中的build等同于Maven命令,只是代表准备要执行的maven命令,可以在build中执行任何命令(包括clean和deploy等)

    在ide的build中执行maven的package命令,打包前最好先clean一下:

    1.2利用ide中的maven install打包后发布到本地仓库:

    ide的maven install相当于maven命令的:mvn intall,而mvn install相当于mvn package+mvn deploy本地仓库参数                                                              

    2:在doc窗口中,在项目下执行mvn package,建议mvn clean package,先清除再打包

    三、基于spring boot项目应用的打包

    打包后找不到pom下spring boot的依赖包了:

    检查pom中的插件配置plugs:

    由于spring boot风格的项目在项目结构与pom关系上与普通项目不同,不使用SpringBoot自带的插件,因为这个打包会打包在Spring-Boot目录下导致别的项目引用时引用不到,Spring Boot的Maven插件(Spring Boot Maven plugin)能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot应用提供了执行Maven操作的可能。Spring Boot Maven plugin能够将Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。

     Spring Boot Maven plugin的5个Goals

     a:spring-boot:repackage,默认goal。在mvn package之后,再次打包可执行的jar/war,同时保留mvn package生成的jar/war为.origin

    b:spring-boot:run,运行Spring Boot应用

    c:spring-boot:start,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理

    d:spring-boot:stop,在mvn integration-test阶段,进行Spring Boot应用生命周期的管理

    e:spring-boot:build-info,生成Actuator使用的构建信息文件build-info.properties

    如果你的POM不是继承spring-boot-starter-parent的话,需要下面的指定:

    或者

    要打war包则:

    参考指南:

    https://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html

    spring-boot-maven-plugin待研究细节

    相关文章

      网友评论

        本文标题:maven教程(下)在ide下的快速打包指南

        本文链接:https://www.haomeiwen.com/subject/asdkkftx.html