maven插件(1)-plugin.xml說明

<?xml version="1.0" encoding="UTF-8"?>

 

<!-- Generated by maven-plugin-tools 3.2 on 2019-08-06 -->

 

<plugin>

  <name>mavenplugindemo</name>

  <description></description>

  <!-- 座標 -->

  <groupId>cn.chy</groupId>

  <artifactId>mavenplugindemo</artifactId>

  <version>2.0-SNAPSHOT</version>

  <!-- 插件獨一無二的前綴 -->

  <goalPrefix>demo</goalPrefix>

  <!-- 遺留屬性,不贊成使用,永遠爲false -->

  <isolatedRealm>false</isolatedRealm>

  <!-- 定義在父項目中的目標執行是否被子項目繼承,true 表示被子項目繼承 -->

  <inheritedByDefault>true</inheritedByDefault>

  <mojos>

    <mojo>

      <!-- 目標 -->

      <goal>compile</goal>

      <!-- 該目標就是否由用戶在命令行顯示的執行, false 表示不再命令行顯示執行 -->

      <requiresDirectInvocation>false</requiresDirectInvocation>

      <!-- 指定該目標是否在項目外部運行, true 表示不能在項目外運行 -->

      <requiresProject>true</requiresProject>

      <!-- 是否依賴報告, false 表示不依賴 -->

      <requiresReports>false</requiresReports>

      <!-- true表示目標只會在Maven執行的時候運行一次 -->

      <aggregator>false</aggregator>

      <!-- 指定當Maven在離線模式(-o命令行選項)的時候該目標不能運行。如果一個目

標依賴於網絡資源,你就需要將該元素設置成true -->

      <requiresOnline>false</requiresOnline>

      <!-- true,在父項目中配置的mojo就會同樣在子項目中生效 -->

      <inheritedByDefault>true</inheritedByDefault>

      <!-- 爲該目標綁定一個階段 -->

      <phase>compile</phase>

      <!-- 初始化類 -->

      <implementation>cn.chy.plugin.MavenPluginCompileMojo</implementation>

      <!-- Mojo默認的語言 -->

      <language>java</language>

      <!-- 創建和管理組件實例,配置成per-lookup,每次Maven

從Plexus獲取該mojo的時候,一個新的實例被創建 -->

      <instantiationStrategy>per-lookup</instantiationStrategy>

      <!-- 可用的值是onceper-session和always,沒作用,在未來版本的Maven中該屬性很有可能被棄用。 -->

      <executionStrategy>once-per-session</executionStrategy>

      <threadSafe>false</threadSafe>

      <parameters>

        <parameter>

          <name>artifactId</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性</description>

        </parameter>

        <parameter>

          <name>buildDirectory</name>

          <type>java.lang.String</type>

          <required>true</required>

          <editable>true</editable>

          <description>POM屬性

項目構建輸出目錄: 默認target/</description>

        </parameter>

        <parameter>

          <name>describe</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>true</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>envJavaHome</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>環境變量

 

備註:mvn help:system</description>

        </parameter>

        <parameter>

          <name>envMavenHome</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>extentParams</name>

          <type>java.util.List</type>

          <required>false</required>

          <editable>true</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>finalName</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性

打包輸出項目名: 默認 ${project.artifactId}-${project.version}</description>

        </parameter>

        <parameter>

          <name>groupId</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性</description>

        </parameter>

        <parameter>

          <name>javaHome</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>java 系統屬性

 

備註:mvn help:system</description>

        </parameter>

        <parameter>

          <name>javaUserHome</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>java 系統屬性

 

備註:mvn help:system</description>

        </parameter>

        <parameter>

          <name>outputDirectory</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性

項目代碼編譯輸出目錄: 默認 target/classes/</description>

        </parameter>

        <parameter>

          <name>path</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>true</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>project</name>

          <type>org.apache.maven.project.MavenProject</type>

          <required>true</required>

          <editable>false</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>projectBaseDir</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>內置屬性

項目根目錄</description>

        </parameter>

        <parameter>

          <name>projectVersion</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性

項目版本</description>

        </parameter>

        <parameter>

          <name>resourceEncoding</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性</description>

        </parameter>

        <parameter>

          <name>session</name>

          <type>org.apache.maven.execution.MavenSession</type>

          <required>true</required>

          <editable>false</editable>

          <description></description>

        </parameter>

        <parameter>

          <name>sourceDirectory</name>

          <type>java.lang.String</type>

          <required>false</required>

          <editable>false</editable>

          <description>POM屬性

項目主源碼目錄: 默認 src/mian/java</description>

        </parameter>

        <parameter>

          <name>useDefault</name>

          <type>boolean</type>

          <required>false</required>

          <editable>true</editable>

          <description>自定義屬性

 

&lt;properties&gt;

  &lt;jar.useDefault&gt;true&lt;/jar.useDefault&gt;

&lt;/properties&gt;</description>

        </parameter>

      </parameters>

      <configuration>

        <artifactId implementation="java.lang.String" default-value="${project.artifactId}"/>

        <buildDirectory implementation="java.lang.String" default-value="${project.build.directory}"/>

        <envJavaHome implementation="java.lang.String" default-value="${env.JAVA_HOME}"/>

        <envMavenHome implementation="java.lang.String" default-value="${env.MAVEN_HOME}"/>

        <finalName implementation="java.lang.String" default-value="${project.build.finalName}"/>

        <groupId implementation="java.lang.String" default-value="${project.groupId}"/>

        <javaHome implementation="java.lang.String" default-value="${java.home}"/>

        <javaUserHome implementation="java.lang.String" default-value="${user.home}"/>

        <outputDirectory implementation="java.lang.String" default-value="${project.build.outputDirectory}"/>

        <project implementation="org.apache.maven.project.MavenProject" default-value="${project}"/>

        <projectBaseDir implementation="java.lang.String" default-value="${basedir}"/>

        <projectVersion implementation="java.lang.String" default-value="${project.version}"/>

        <resourceEncoding implementation="java.lang.String" default-value="${project.build.sourceEncoding}"/>

        <session implementation="org.apache.maven.execution.MavenSession" default-value="${session}"/>

        <sourceDirectory implementation="java.lang.String" default-value="${project.build.sourceDirectory}"/>

        <useDefault implementation="boolean" default-value="false">${jar.useDefault}</useDefault>

      </configuration>

    </mojo>    

  <dependencies>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-plugin-api</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-model</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-artifact</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.eclipse.sisu</groupId>

      <artifactId>org.eclipse.sisu.plexus</artifactId>

      <type>jar</type>

      <version>0.3.3</version>

    </dependency>

    <dependency>

      <groupId>javax.enterprise</groupId>

      <artifactId>cdi-api</artifactId>

      <type>jar</type>

      <version>1.0</version>

    </dependency>

    <dependency>

      <groupId>javax.annotation</groupId>

      <artifactId>jsr250-api</artifactId>

      <type>jar</type>

      <version>1.0</version>

    </dependency>

    <dependency>

      <groupId>org.codehaus.plexus</groupId>

      <artifactId>plexus-utils</artifactId>

      <type>jar</type>

      <version>3.1.0</version>

    </dependency>

    <dependency>

      <groupId>org.codehaus.plexus</groupId>

      <artifactId>plexus-classworlds</artifactId>

      <type>jar</type>

      <version>2.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-core</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-settings</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-settings-builder</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.codehaus.plexus</groupId>

      <artifactId>plexus-interpolation</artifactId>

      <type>jar</type>

      <version>1.24</version>

    </dependency>

    <dependency>

      <groupId>org.sonatype.plexus</groupId>

      <artifactId>plexus-sec-dispatcher</artifactId>

      <type>jar</type>

      <version>1.4</version>

    </dependency>

    <dependency>

      <groupId>org.sonatype.plexus</groupId>

      <artifactId>plexus-cipher</artifactId>

      <type>jar</type>

      <version>1.4</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-builder-support</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-repository-metadata</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-model-builder</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven</groupId>

      <artifactId>maven-resolver-provider</artifactId>

      <type>jar</type>

      <version>3.5.2</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven.resolver</groupId>

      <artifactId>maven-resolver-impl</artifactId>

      <type>jar</type>

      <version>1.1.0</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven.resolver</groupId>

      <artifactId>maven-resolver-api</artifactId>

      <type>jar</type>

      <version>1.1.0</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven.resolver</groupId>

      <artifactId>maven-resolver-spi</artifactId>

      <type>jar</type>

      <version>1.1.0</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven.resolver</groupId>

      <artifactId>maven-resolver-util</artifactId>

      <type>jar</type>

      <version>1.1.0</version>

    </dependency>

    <dependency>

      <groupId>org.apache.maven.shared</groupId>

      <artifactId>maven-shared-utils</artifactId>

      <type>jar</type>

      <version>3.1.0</version>

    </dependency>

    <dependency>

      <groupId>commons-io</groupId>

      <artifactId>commons-io</artifactId>

      <type>jar</type>

      <version>2.4</version>

    </dependency>

    <dependency>

      <groupId>org.eclipse.sisu</groupId>

      <artifactId>org.eclipse.sisu.inject</artifactId>

      <type>jar</type>

      <version>0.3.3</version>

    </dependency>

    <dependency>

      <groupId>com.google.inject</groupId>

      <artifactId>guice</artifactId>

      <type>jar</type>

      <version>4.0</version>

    </dependency>

    <dependency>

      <groupId>aopalliance</groupId>

      <artifactId>aopalliance</artifactId>

      <type>jar</type>

      <version>1.0</version>

    </dependency>

    <dependency>

      <groupId>com.google.guava</groupId>

      <artifactId>guava</artifactId>

      <type>jar</type>

      <version>18.0</version>

    </dependency>

    <dependency>

      <groupId>javax.inject</groupId>

      <artifactId>javax.inject</artifactId>

      <type>jar</type>

      <version>1</version>

    </dependency>

    <dependency>

      <groupId>org.codehaus.plexus</groupId>

      <artifactId>plexus-component-annotations</artifactId>

      <type>jar</type>

      <version>1.7.1</version>

    </dependency>

    <dependency>

      <groupId>org.apache.commons</groupId>

      <artifactId>commons-lang3</artifactId>

      <type>jar</type>

      <version>3.5</version>

    </dependency>

    <dependency>

      <groupId>com.alibaba</groupId>

      <artifactId>fastjson</artifactId>

      <type>jar</type>

      <version>1.2.28</version>

    </dependency>

  </dependencies>

</plugin>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章