Как мне скомпилировать в режиме отладки? (NetBeans, Java, Maven) - PullRequest
12 голосов
/ 16 ноября 2011

Я сталкиваюсь с ошибками аннотации / персистентности в проекте, и библиотека персистентности выдает

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

Как отлаживать подобные ошибки, чтобы найти большео причине ошибки?

Установка точки останова в EntityAccessor и компиляция для отладки не работает, кажется, что сам компилятор не работает в режиме отладки.

Я используюNetBeans / Java / Maven.

Ответы [ 5 ]

29 голосов
/ 10 мая 2013

Насколько я понимаю, вы хотите отладку в компиляции, а не maven в режиме отладки.

Используя mvn для компиляции, используйте режим отладки следующим образом:

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

debuglevel может быть любым из трех значений, введенных в формате CSV Чтобы подчеркнуть, debug и debuglevel являются важными узлами, включенными в maven.

Надеюсь, это поможет каким-то образом.

Ссылка: maven.apache.org / plugins / maven-compiler-plugin / compile-mojo.html

5 голосов
/ 23 февраля 2015

Вы можете отладить любую цель Maven в NetBeans, выбрав /Project Properties/Actions/, выберите цель, которую вы хотите отладить, в последнем варианте Установить свойства выберите Добавить , а затем выберите Отладка Maven build .

3 голосов
/ 11 февраля 2016

Вам необходимо установить свойство jpda.listen=maven.

В Netbeans 8+:

1. Выберите модуль, который вы хотите отлаживать при сборке.

2. Щелкните правой кнопкой мыши, чтобы открыть контекстное меню, и выберите Properties.

3. Выберите категорию Actions.

4. Затем выберите действие Clean and build project.

5. В разделе Set Properties выберите Add> Debug Maven Build.

6. Нажмите кнопку OK, чтобы закрыть и сохранить настройки.

Теперь вы должны иметь возможность устанавливать точки останова и отлаживать подключаемые модули и зависимости maven.

3 голосов
/ 17 ноября 2011

Работаете ли вы с Maven в режиме отладки?

Чтобы запустить Maven в режиме отладки, используйте команду mvndebug вместо mvn , чтобы построить свой проект, а затем присоединитек нему с помощью вашей IDE.Должны быть достигнуты точки останова отладки.

Я сделал это с Eclipse, в основном при попытке отладки моих собственных процессоров аннотаций, но это также удобно для отладки плагинов Maven.

Я полагаю, что отладка процессора JPA не будет тривиальной - вам лучше будет снова просмотреть все сообщение об ошибке или опубликовать его в своем вопросе.

0 голосов
/ 16 ноября 2011

Вам необходимо установить точки останова в классе org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor, и это должно прекратиться во время запуска вашего сервера (который вам нужно будет запустить в режиме отладки).Это на самом деле не компиляция, а просто JPA, загружающий свои метаданные из аннотаций классов.Поскольку код вашего провайдера JPA - это не то, что вы можете легко понять или изменить, я бы посоветовал вместо отладки попробовать поискать вашу конкретную ошибку в сети и посмотреть, не сталкивался ли ее кто-то еще (например, может быть ошибка в Eclipse Link)эти библиотеки обычно генерируют неинформативные исключения, такие как нулевой указатель, когда ваши сущности не аннотированы правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...