如何在调试模式下编译?(netbeans, java, maven)

我在项目中遇到注释/持久性错误,并且持久性库抛出一个

NullPointerException when trying to resolve the entities (org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.discoverMappedSuperclassesAndInheritanceParents(EntityAccessor.java:224)).

如何调试此类错误以查找有关错误原因的更多信息?

在 中设置断点并进行编译以进行调试不起作用,编译器本身似乎未在调试模式下运行。EntityAccessor

我正在使用Netbeans / Java / Maven。


答案 1

据我所知,您希望在编译中调试 - 而不是在调试模式下进行maven。

使用 mvn 进行编译,通过以下方式使用调试模式:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>8</source>
        <target>8</target>
        <debug>true</debug>
        <debuglevel>lines,vars,source</debuglevel> 
    </configuration>
</plugin> 

debug级别可以是以CSV格式输入的三个值中的任何一个 要突出显示,调试调试级别是maven中包含的重要节点。

希望它能以某种方式有所帮助。

参考资料: maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html


答案 2

您可以在 NetBeans 中调试要调试的任何 Maven 目标,选择要调试的目标,在最后一个选项“设置属性”中选择“添加”,然后选择“调试 Maven 生成”。/Project Properties/Actions/