mavenlifecycle的简单介绍

本篇文章给大家谈谈mavenlifecycle,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

idea lifecycle生命周期

idea工具maven projects里面有9种生命周期。生命周期是包含在一个项目构樱旁建中的一系列有序的阶段。

最常用的两种打包方法:

一:clean,package(如果报错,很可能就是jar依赖的问题)

二:clean,install

9种生命周期:

clean,清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target文件,但是不会删除本地的maven仓库已经生成的jar文件。

validate,验证,验证工程是否正确,所需的信息是否完整。

compile,编译源码,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。

test,单元测试,测试。

package,打包,将工程文件打包为指定的格式,例如JAR,WAR等。这个命令会在你的项目路径下一个target目录,并且拥有compile命令的功能进行编译,同时会在target目录下生成项目的jar/war文件。如果a项目依赖于b项目,打包b项目时,只会打包到b项目下target下,编译a项目时就会报错,因为找不到所依赖的b项目,说明a项目在本地仓库是没有找到它所依赖的b项目,这时就用到install命令了

verify,核实,检查package是否有效、符合标准。

install,安装至本地仓库,将包安装至本地仓库,以让其它项目依赖。该命令包含了package命令功能,不但会在项目路径下生成class文件和jar包,同时会在你的本地maven仓库生成jar文件,供其他项目使用(如果没有设置过maven本地仓库,一般在用烂渣户/.m2目录下。如果a项目依赖于b项目,那么install b项目时,会在本地仓库同时生成pom文件和jar文件,解决了上面打包package出错的问题)

build:功能类似compile,只是只对整个项目进行编译。

site,站点,生成项目的站点文档

deploy,复制到远程仓库

build和compile的区别

Compile:只编译选定的目标,不管之前是否已经编译过。

Build:是对整个工程进行彻底的重新编译,而不管是否已经编译过。Build过程往往会生成发布包,这个具体要看对IDE的配置了,Build在实际饥颂悄中应用很少,因为开发时候基本上不用,发布生产时候一般都用ANT等工具来发布。Build因为要全部编译,还要执行打包等额外工 作,因此时间较长。

[img]

如何用maven将配置文件打在jar包外

pom如下,最后mvn package -Dmaven.test.skip=true结果在target下面有jar,辩嫌lib是依赖库,配置文件放在和jar一个目录

build

sourceDirectorysrc/main/java/sourceDirectory

resources

resource

directorysrc/main/resources/directory

targetPath${project.build.directory}/targetPath

excludes

exclude**/*.java/exclude

/excludes

/resource

/resources

testSourceDirectorysrc/test/java/testSourceDirectory

testResources

testResource

directorysrc/test/resources/directory

filteringtrue/filtering

excludes

exclude**/*.java/exclude

/excludes

/testResource

/testResources

pluginManagement

plugins

plugin

groupIdorg.eclipse.m2e/groupId搏灶猜

artifactIdlifecycle-mapping/artifactId

version1.0.0/version

configuration

lifecycleMappingMetadata

pluginExecutions

pluginExecution

pluginExecutionFilter

groupIdorg.apache.maven.plugins/groupId

artifactIdmaven-dependency-plugin/artifactId

versionRange[2.0,)/versionRange

goals

goalcopy-dependencies/goal

/goals

/pluginExecutionFilter

action

ignore /

/action

/pluginExecution

/pluginExecutions

/lifecycleMappingMetadata

/configuration

/plugin

/plugins

/pluginManagement

plugins

plugin

artifactIdmaven-compiler-plugin/artifactId

version2.3.2/version

configuration

source1.6/source

target1.6/target

encodingUTF-8/encoding

/configuration

/plugin

!-- 打包源码一起发布到maven仓库中 --

plugin

artifactIdmaven-source-plugin/artifactId

version2.1/version

configuration

attachtrue/attach

/configuration

executions

execution

phasecompile/phase

goals

goaljar/goal

/goals

/execution

/executions

/plugin

!-- 生成可执行JAR包命令 maven-jar-plugin --

plugin

基型groupIdorg.apache.maven.plugins/groupId

artifactIdmaven-jar-plugin/artifactId

configuration

archive

manifest

addClasspathtrue/addClasspath

classpathPrefixlib//classpathPrefix

mainClass***Main Application *** /mainClass

/manifest

manifestEntries

Class-Path.//Class-Path

/manifestEntries

/archive

/configuration

/plugin

!-- 拷贝依赖的jar包到lib目录 --

plugin

groupIdorg.apache.maven.plugins/groupId

artifactIdmaven-dependency-plugin/artifactId

executions

execution

idcopy/id

phasepackage/phase

goals

goalcopy-dependencies/goal

/goals

configuration

outputDirectory

${project.build.directory}/lib

/outputDirectory

/configuration

/execution

/executions

/plugin

!-- 生成可执行JAR包命令 maven-jar-plugin end --

!-- 生成可执行JAR包命令 maven-shade-plugin plugin groupIdorg.apache.maven.plugins/groupId

artifactIdmaven-shade-plugin/artifactId version1.2.1/version executions

execution phasepackage/phase goals goalshade/goal /goals configuration

transformers transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"

mainClass***.Application ***/mainClass /transformer

/transformers /configuration /execution /executions /plugin --

/plugins

/build

maven执行sonar报错,求助高手

跪念握求高手帮助!使用maven3.0.5,sonar3.6,执行sonar:sonar最后键扰报稿高旦错,信息如下:

[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on project udmptest: Can not execute Sonar: Sonar is unable to analyze file : 'E:\workspace1\udmptest\src\main\java\mavenstudy\App.java': Unable to save measure for metric [comment_lines_data] on resource [mavenstudy.App]:

[ERROR] ### Error updating database. Cause: org.apache.ibatis.executor.ExecutorException: Error preparing statement. Cause: java.lang.ArrayIndexOutOfBoundsException: 20

[ERROR] ### SQL: INSERT INTO project_measures ( id, value, metric_id, snapshot_id, rule_id, text_value, tendency, measure_date, project_id, alert_status, alert_text, url, description, rule_priority, characteristic_id, variation_value_1, variation_value_2, variation_value_3, variation_value_4, variation_value_5, person_id) VALUES ( project_measures_seq.NEXTVAL, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )

[ERROR] ### Cause: org.apache.ibatis.executor.ExecutorException: Error preparing statement. Cause: java.lang.ArrayIndexOutOfBoundsException: 20

[ERROR] - [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.0:sonar (default-cli) on

idea的maven刷新按钮

Idea界面右侧,点击Maven标签,烂岩携打开项目名称-Lifecycle。刷新按钮为对整个项目的pom.xml进行reimport点击clean,清除编译后的项目文件点击枣穗package,打包Idea界面下方。点击4号红框处刷新按钮,idea会自动开始下载pom文件中所配置的jar包(idea窗口下方会有进度条用来显饥伏示下载进度)。

maven编译错误? d lifecycle pha se or a goal

一、问题描述

Windows下,需要将jar包手动导入Maven本地仓库键槐老,使用Power Shell运行命令:

mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

报错:

[ERROR] Unknown lifecycle phase ".ggstar". You must specify a valid lifecycle phase or a goal in the format 稿升plugin-prefix:goal or plugin-group-id:plugin-artifact-id[:plugin-version]:goal. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. - [Help 1][ERROR][ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.[ERROR] Re-run Maven using the -X switch to enable full debug logging.[ERROR][ERROR] For more information about the errors and possible solutions, please read the following articles:[ERROR] [Help 1]

二、问题原因

Power Shell的命令和cmd的命令有不一样,这个命令在cmd是可以实行明段的。

三、解决方法

1.在cmd命令行中执行

在含pom.xml文件的根路径下打开cmd命令行,然后输入命令

mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" -DgroupId=com.ggstar -DartifactId=ipdatabase -Dversion=1.0 -Dpackaging=jar

然后打包成功:

[INFO] Building ipdatabase 1.0-SNAPSHOT[INFO] ------------------------------------------------------------------------[INFO][INFO] --- maven-install-plugin:2.4:install-file (default-cli) @ ipdatabase ---[INFO] Installing E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.jar[INFO] Installing C:\Users\ADMINI~1\AppData\Local\Temp\mvninstall4727202787532518137.pom to E:\Tools\apache-maven-3.3.9\Repository\com\ggstar\ipdatabase\1.0\ipdatabase-1.0.pom[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time: 1.703 s[INFO] Finished at: 2018-10-05T20:40:36+08:00[INFO] Final Memory: 8M/123M[INFO] ------------------------------------------------------------------------

2.在Power Shell下

参数需要添加单引号'',如下命令即可

mvn install:install-file -Dfile="E:\Tools\ipdatabase\target\ipdatabase-1.0-SNAPSHOT.jar" '-DgroupId=com.ggstar' '-DartifactId=ipdatabase' '-Dversion=1.0' '-Dpackaging=jar'

还有不懂的可以关注私聊我,本人10年java开发经验,相信可以帮助你成为一个优秀的java程序员

eclipse的maven build有什么作用

eclipse的maven build是用来编译eclipse工程的。

1、maven的裂滚Build Lifecycle分为三种,分别为default(处理项目的部署)、clean(处做源芦理项目的清理)、site(处理项目的文档生成)。他们都包含不同的lifecycle。

Build Lifecycle是由phases构成的,下面重点介绍default Build Lifecycle几个重要阶段:

validate 验证项目是否正确以及必须的信息是否可用

compile 编译源代码

test 测试编译后的代码,即执行单元测试代码

package 打包编译后的代码,在target目录下生成package文件

integration-test 处理package以便需要时可以部署到集成测试环境

verify 检验package是否纯带有效并且达到质量标准

install 安装package到本地仓库,方便本地其它项目使用

deploy 部署,拷贝最终的package到远程仓库和替他开发这或项目共享,在集成或发布环境完成。

以上的phase是有序的(注意实际两个相邻phase之间还有其他phase被省略,完整phase见lifecycle),下面一个phase的执行必须在上一个phase完成后

2、若直接以某一个phase为goal,将先执行完它之前的phase,如mvn install

将会先validate、compile、test、package、integration-test、verify最后再执行install phase

关于mavenlifecycle和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

标签列表