如何检查在阶段调用的 Maven 目标
Posted
技术标签:
【中文标题】如何检查在阶段调用的 Maven 目标【英文标题】:How to check that maven goal called during phase 【发布时间】: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,我在问题的更新部分发布我的执行标签
【参考方案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>
【讨论】:
以上是关于如何检查在阶段调用的 Maven 目标的主要内容,如果未能解决你的问题,请参考以下文章