【问题标题】:How can I determine the phases for a specific packaging type如何确定特定包装类型的阶段
【发布时间】:2016-04-07 22:15:59
【问题描述】:

在 Maven 中,当我使用 <packaging>jar</packaging> 时,我可以看到在中定义的默认阶段

 ~/.m2/repository/org/apache/maven/maven-core/3.0.3/maven-core-3.0.3.jar/META-INF/plexus/components.xml

但是当我使用<packaging>kar</packaging> 构建Apache Karaf 项目时,我如何知道kar 的包类型在components.xml 中没有定义的阶段?

【问题讨论】:

    标签: java maven pom.xml


    【解决方案1】:

    这是在karaf-maven-plugin 中定义的。这个插件声明了自己的components.xml

    取代码from GitHub,这是kar包装的生命周期:

    <component>
        <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
        <role-hint>kar</role-hint>
        <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
        <configuration>
            <lifecycles>
                <lifecycle>
                    <id>default</id>
                    <phases>
                        <process-resources>
                            org.apache.maven.plugins:maven-resources-plugin:resources
                        </process-resources>
                        <compile>
                            org.apache.karaf.tooling:karaf-maven-plugin:features-generate-descriptor
                        </compile>
                        <package>
                            org.apache.karaf.tooling:karaf-maven-plugin:kar
                        </package>
                        <install>
                            org.apache.maven.plugins:maven-install-plugin:install
                        </install>
                        <deploy>
                            org.apache.maven.plugins:maven-deploy-plugin:deploy
                        </deploy>
                    </phases>
                </lifecycle>
            </lifecycles>
        </configuration>
    </component>
    

    所以这会调用:

    • process-resourcesorg.apache.maven.plugins:maven-resources-plugin:resources
    • compileorg.apache.karaf.tooling:karaf-maven-plugin:features-generate-descriptor
    • packageorg.apache.karaf.tooling:karaf-maven-plugin:kar
    • installorg.apache.maven.plugins:maven-install-plugin:install
    • deployorg.apache.maven.plugins:maven-deploy-plugin:deploy

    如果您想在 m2 存储库中查看它,您应该查看内部(假设您使用的是 4.0.3 版本)

     ~/.m2/repository/org/apache/karaf/tooling/4.0.3/karaf-maven-plugin-4.0.3.jar/META-INF/plexus/components.xml
    

    【讨论】:

      【解决方案2】:

      看看karaf-maven-plugin.jar中的META-INF/plexus/components.xml

      <component>
              <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
              <role-hint>kar</role-hint>
              <implementation>org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
              <configuration>
                  <lifecycles>
                      <lifecycle>
                          <id>default</id>
                          <phases>
                              <process-resources>
                                  org.apache.maven.plugins:maven-resources-plugin:resources
                              </process-resources>
                              <compile>
                                  org.apache.karaf.tooling:karaf-maven-plugin:features-generate-descriptor
                              </compile>
                              <package>
                                  org.apache.karaf.tooling:karaf-maven-plugin:kar
                              </package>
                              <install>
                                  org.apache.maven.plugins:maven-install-plugin:install
                              </install>
                              <deploy>
                                  org.apache.maven.plugins:maven-deploy-plugin:deploy
                              </deploy>
                          </phases>
                      </lifecycle>
                  </lifecycles>
              </configuration>
          </component>
      

      角色org.apache.maven.lifecycle.mapping.LifecycleMapping 定义生命周期配置。 role-hint 是您在 pom 中使用的包装类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-05
        • 2011-11-14
        • 1970-01-01
        • 1970-01-01
        • 2012-01-26
        • 2023-01-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多