Maven 构建在 Flex PMD 报告报告生成阶段失败

问题描述

在我们项目的一个子模块中执行目标 com.adobe.ac:flex-pmd-maven-plugin:1.2:report (run-flexpmd-main) 时,我收到以下错误。>

Failed to execute goal com.adobe.ac:flex-pmd-maven-plugin:1.2:report (run-flexpmd-main) on project sample-Project: An error has occurred in Flex PMD Report report generation. A system exception has been thrown: 0 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal com.adobe.ac:flex-pmd-maven-plugin:1.2:report (run-flexpmd-main) on project sample-Project: An error has occurred in Flex PMD Report report generation.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(UnkNown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(UnkNown Source)
    at java.lang.reflect.Method.invoke(UnkNown Source)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: An error has occurred in Flex PMD Report report generation.
    at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:98)
    at org.apache.maven.plugin.DefaultBuildpluginManager.executeMojo(DefaultBuildpluginManager.java:101)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    ... 19 more
Caused by: org.apache.maven.reporting.MavenReportException: A system exception has been thrown
    at com.adobe.ac.pmd.maven.AbstractFlexPmdMojo.executeReport(AbstractFlexPmdMojo.java:212)
    at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:117)
    at org.apache.maven.reporting.AbstractMavenReport.execute(AbstractMavenReport.java:92)
    ... 21 more
Caused by: java.lang.Arrayindexoutofboundsexception: 0
    at com.adobe.ac.utils.StackTraceUtils.print(StackTraceUtils.java:48)
    at com.adobe.ac.utils.StackTraceUtils.print(StackTraceUtils.java:66)
    at com.adobe.ac.pmd.FlexPmdViolations.processFile(FlexPmdViolations.java:202)
    at com.adobe.ac.pmd.FlexPmdViolations.processRule(FlexPmdViolations.java:214)
    at com.adobe.ac.pmd.FlexPmdViolations.processRule(FlexPmdViolations.java:224)
    at com.adobe.ac.pmd.FlexPmdViolations.processRules(FlexPmdViolations.java:244)
    at com.adobe.ac.pmd.FlexPmdViolations.computeViolations(FlexPmdViolations.java:103)
    at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.computeViolations(AbstractFlexPmdEngine.java:161)
    at com.adobe.ac.pmd.engines.AbstractFlexPmdEngine.executeReport(AbstractFlexPmdEngine.java:138)
    at com.adobe.ac.pmd.maven.AbstractFlexPmdMojo.executeReport(AbstractFlexPmdMojo.java:205)
    ... 23 more

下面是pom.xml文件中指定的目标配置:

<plugin>
                <groupId>com.adobe.ac</groupId>
                <artifactId>flex-pmd-maven-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <failOnError>true</failOnError>
                    <ruleSet>
                        ${settings.localRepository}/example_dir/flexpmd-rules/${flexPMD_ruleSetVersion}/flexpmd-rules-${flexPMD_ruleSetVersion}.xml
                    </ruleSet>
                </configuration>
                <executions>
                    <execution>
                        <id>run-flexpmd-main</id>
                        <phase>process-sources</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
                            <outputDirectory>${project.build.directory}/pmd/main</outputDirectory>
                        </configuration>
                    </execution>
                    <execution>
                        <id>run-flexpmd-test</id>
                        <phase>process-test-sources</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
                            <outputDirectory>${project.build.directory}/pmd/test</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.adobe.flexpmd</groupId>
                        <artifactId>custom-ruleset</artifactId>
                        <version>0.0.4</version>
                    </dependency>
                    <dependency>
                        <groupId>example_dir</groupId>
                        <artifactId>flexpmd-rules</artifactId>
                        <version>${flexPMD_ruleSetVersion}</version>
                        <type>xml</type>
                    </dependency>
                </dependencies>
            </plugin>

我们对所有其他子项目使用相同的规则集,并且报告已成功生成。只有在一个特定的项目中它才会抛出错误。而且我们最近没有对 flexpmd 规则集进行任何更改。当我们将依赖项迁移到新的工件并在迁移后测试构建时,这个问题就开始了。我也尝试将 failonError 设置为 false,但它仍然抛出此错误。任何人都可以帮我们调试这个错误吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)