如何解决PMD问题为空指针异常
我有一个通过maven pom为多个Apex自定义规则创建的jar文件。 我的src / main / java文件夹包含8个Java程序。 我已经从中创建了一个jar文件,但是不确定执行jar时将执行哪个类?我想通过单个jar文件运行分析 当我使用pmd.bat命令运行此命令时,我得到了空指针异常,因为jar无法获取要首先调用哪个主类来运行分析
解决方法
您必须检入.jar
,文件META-INF/MANIFEST.MD
,该文件在Main-Class
键中被引用。如果有的话,可以在运行时使用java -jar myjar.jar com.test.Main
指定它(如果您的班级是com.test.Main
)。
但是,最好在MANIFEST.MD中直接指定它,例如通过一个maven插件
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
...
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
...
</plugin>
</plugins>
</build>
...
</project>
,
我想,您想执行以下操作:
- 您已经为Apex语言创建了自定义PMD规则。
- 您要编译自定义规则。
- 您要创建一个自定义PMD发行版,其中包含所有库存规则和自定义规则,以便您可以轻松地安装和使用它。
为此,请看一个示例项目(https://github.com/pmd/pmd-examples)-特别是Java的示例:https://github.com/pmd/pmd-examples/tree/java 可能有些过时,您需要针对顶点进行调整,但是它描述了您拥有的两个选项(使用自定义发行版或仅将自定义规则jar复制到lib文件夹中)。
一旦您将自定义规则集成到PMD安装中,您的规则在执行PMD时就会可用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。