mavenlifecycle的简单介绍
本篇文章给大家谈谈mavenlifecycle,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、idea lifecycle生命周期
- 2、如何用maven将配置文件打在jar包外
- 3、maven执行sonar报错,求助高手
- 4、idea的maven刷新按钮
- 5、maven编译错误? d lifecycle pha se or a goal
- 6、eclipse的maven build有什么作用
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和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。