【问题标题】:How to check that maven goal called during phase如何检查在阶段调用的 Maven 目标
【发布时间】:2012-06-10 13:40:10
【问题描述】:

我配置了一些插件目标以在我的构建生命周期的某些阶段执行(maven android 应用程序)。但我认为我在配置插件时犯了一个错误,并想确保他们真的打电话。我发现这个命令将打印所有生命周期阶段和目标:mvn help:describe -Dcmd=install,但它没有显示我配置的目标。因此我有两个问题:

  • mvn help:describe -Dcmd=install 命令是否显示我的目标 内部配置<build>/<plugins>/<plugin>/<executions>/<execution> pom标签?

  • 如何确保在阶段期间调用目标和在期间调用阶段 构建生命周期?

更新 我正在尝试配置 maven-android-plugin 并希望在打包阶段执行 zipalign 目标

        <plugin>
            <groupId>com.jayway.maven.plugins.android.generation2</groupId>
            <artifactId>android-maven-plugin</artifactId>
            <version>3.2.0</version>
            <extensions>true</extensions>
            <configuration>
                <sdk>
                    <platform>8</platform>
                </sdk>
                <emulator>
                    <avd>2.3.3_API-10</avd>
                </emulator>
                <undeployBeforeDeploy>true</undeployBeforeDeploy>
                <assetsDirectory>${project.build.directory}/filtered-assets</assetsDirectory>
                <androidManifestFile>${project.build.directory}/filtered-manifest/AndroidManifest.xml</androidManifestFile>
                <zipalign>
                    <skip>false</skip>
                    <verbose>${build.verbosity}</verbose>
                    <inputApk>${project.build.directory}/${project.artifactId}-${build.version.name}.apk</inputApk>
                    <outputApk>${project.build.directory}/${project.artifactId}-${build.version.name}-aligned.apk</outputApk>
                </zipalign>
            </configuration>
            <executions>
                <execution>
                    <id>zipalign</id>
                    <phase>package</phase>
                    <goals>
                        <goal>zipalign</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

【问题讨论】:

  • 你能发布你的执行标签的代码吗?
  • 好问题! +1 ...我也想知道如何调试它。
  • 您是否曾经在 mvn clean 包期间检查过输出,或者您是否将输出重定向到文件并检查了文件的内容?
  • 试试mvn -X clean install -l log.txt然后分析log.txt
  • matt5784,我在问题的更新部分发布我的执行标签

标签: android maven maven-plugin android-maven-plugin


【解决方案1】:

您可以看到在日志中调用了 maven 目标。 对于您使用 zipalign 的情况,您可以看到例如:

[INFO] --- android-maven-plugin:3.5.0:zipalign (alignApk) @ androidclientlight ---
[INFO] Running command: C:\Eclipse\Android\android-sdk-windows_r12\tools\zipalign.exe
[INFO] with parameters: [-v, -f, 4, 

如果跳过,您将看到:

[INFO] --- android-maven-plugin:3.5.0:zipalign (alignApk) @ androidclientlight ---
[INFO] Skipping zipalign

提示,不要忘记在您的 zipalign 配置中添加标志“false”。

      <zipalign>
        <skip>false</skip>
        <verbose>true</verbose>
        <inputApk>${project.build.directory}/${project.artifactId}-${project.version}.apk</inputApk>
        <outputApk>${project.build.directory}/${project.artifactId}-release-v${project.version}.apk</outputApk>
      </zipalign>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多