2013-08-28 2 views
2

Я использую IntelliJ, и я хочу, чтобы мои модульные тесты запускались или отлаживались со статическим плетением для ленивой загрузки и др. Я знаю, что в отличие от Eclipse, у IntelliJ нет статического шага, но я полагаю, что кто-то должен настроить IntelliJ на статическое переплетение перед запуском или отладкой тестов.Статическое ткачество EclipseLink с Intellij

До сих пор я пробовал динамическое ткачество с аргументом JVM -javaagent: ./ path/eclipselink-2.5.0.jar, но это, похоже, не работает. Я все еще получаю эти предупреждения:

[EL Warning]: metadata: 2013-08-28 11:00:51.091--ServerSession(1610028911)--Reverting the lazy setting on the OneToOne or ManyToOne attribute [owner] for the entity class [class com.my.Contact] since weaving was not enabled or did not occur. 

ли мой IntelliJ брат и сестра просто выбивать на этом и пропустить ткачества в IDE? Разве мы не используем EclipseLink или не выяснили, как обрабатывать статическое плетение и использовать IntelliJ?

Спасибо!

+0

как о статическом ткачестве? –

+0

Проблема в том, что IDEA делает это, даже если у нас есть статическое ткачество. После полной сборки maven классы сотканы, его можно проверить с помощью javap, но IDEA каким-то образом выбирает (или воссоздает?) Ванильные классы, и эта ошибка появляется. Чтобы ухудшить ситуацию, иногда она работает нормально, иногда это не так. Не знаю, что заставляет идею коснуться этих классов ... – virgo47

ответ

1

IntelliJ Idea может создавать дополнительные цели для создания приложения.

Если у вас есть проект maven с установленным плагином staticweave, можно добавить цель maven «process-classes» для автоматического выполнения действий staticweave при запуске создания идеи.

0

Перед запуском конфигурации запуска вы можете создать дополнительные шаги сборки.

  • Run> Edit Configurations ...
  • Выберите нужную конфигурацию запуска
  • Добавьте свой статический ткач компилятор в качестве дополнительной стадии сборки под `Перед стартом:
    • Например добавить цель Maven как eclipselink:weave
    • Или выполните процесс java, например java org.eclipse.persistence.tools.weaving.jpa.StaticWeave…
    • Позиция должна быть между Build и `Построить artifact``
  • Смотрите скриншот: Define additional build steps

Другим решением является определение цели Maven как крюк для After Build в окне инструмента Maven. Просто щелкните правой кнопкой мыши по соответствующему мячу Maven и выберите Execute After Build. Это выполнит EclipseLink Weaver через Maven каждый раз после выполнения Build. Вы увидите крюк в скобках за воротами Maven:

Create a Maven goal build hook in IDEA

Смежные вопросы