Maven

徹底參考手冊

還有誰比Nexus的出品公司sonatype更瞭解Maven的呢?so 戳下面的鏈接看reference


Maven ArcheType

ArcheType is a Maven project templating toolkit -  http://maven.apache.org/guides/introduction/introduction-to-archetypes.html

Create project from ArcheType -- http://maven.apache.org/archetype/maven-archetype-plugin/usage.html

Create your own ArcheType -- http://maven.apache.org/guides/mini/guide-creating-archetypes.html

Maven 提供的一些ArcheTypes -- http://maven.apache.org/archetype/maven-archetype-bundles/


Maven Profile

Profile能夠讓咱們定義一系列的配置信息,而後指定其激活條件。這樣咱們就能夠定義多個profile,而後每一個profile對應不一樣的激活條件和配置信息,從而達到不一樣環境使用不一樣配置信息的效果。

Maven Plugin

引用Plugin ( Referencing Plugin)

能夠經過兩種方式應用Plugin,groupId:artifact:version:goal 或者使用plugin的Prefix,例以下面的兩個command效果是同樣的。

mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull

mvn org.apache.maven.plugins:maven-help-plugin:2.2:describe -Dplugin=compiler -Dmojo=compile -Dfull

注意在maven中,一個插件目標(Goal)也被認爲是一個Mojo

將Plugin加入你的Lifecycle

 For example, let's say you have a goal  display:time  that echos the current time to the commandline, and you want it to run in the  process-test-resources  phase to indicate when the tests were started. This would be configured like so:

...
 <plugin>
   <groupId>com.mycompany.example</groupId>
   <artifactId>display-maven-plugin</artifactId>
   <version>1.0</version>
   <executions>
     <execution>
       <phase>process-test-resources</phase>
       <goals>
         <goal>time</goal>
       </goals>
     </execution>
   </executions>
 </plugin>
...
 
 

怎樣經過Prefix找到你的Plugin (Plugin Prefix Resolution)

By default, Maven will make a guess at the plugin-prefix to be used, by removing any instances of "maven" or "plugin" surrounded by dashes in the plugin's artifact ID. The conventional artifact ID formats to use are:html

  • maven-${prefix}-plugin - for official plugins maintained by the Apache Maven team itself (you must not use this naming pattern for your plugin, see this note for more informations)
  • ${prefix}-maven-plugin - for plugins from other sources
By default, Maven will search the groupId  org.apache.maven.plugins  for prefix-to-artifactId mappings
默認,Maven會搜索apache groupId (repository)去匹配與prefix相符的plugin(用上面提到的規則),若是想把本身開發的plugin或第三方plugin也設置爲搜索目標,咋辦尼?
很簡單,在~/.m2/settings.xml中加入pluginGroup便可
	<pluginGroups>
		<pluginGroup>com.alibaba.org.apache.maven.plugins</pluginGroup>
		<pluginGroup>com.alibaba.maven.plugins</pluginGroup>
	</pluginGroups>	



開發本身的Plugin

注意在Plugin命名時,maven-${prefix}-plugin 是Apache的保留方式,具備知識產權,最好不要作違背知識產權的事(infringement)

${prefix}-maven-plugin




版權聲明:本文爲博主原創文章,未經博主容許不得轉載。java

相關文章
相關標籤/搜索