2013-08-28 25 views
2

我使用IntelliJ,我希望我的單元測試運行或使用靜態編織進行調試以用於延遲加載等。我知道,與Eclipse不同的是,IntelliJ沒有靜態編織步驟,但我想在運行或調試測試之前,有人必須設置IntelliJ來進行靜態編織。EclipseLink與Intellij的靜態編織

到目前爲止,我已經嘗試使用-javaagent:./path/eclipselink-2.5.0.jar的JVM參數進行動態編織,但似乎無法工作。我仍然得到這些警告:

[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以某種方式挑選(或重新創建?)vanilla類並出現此錯誤。更糟糕的是,有時它可以正常工作,有時並不正確。不知道是什麼讓想法觸及這些類... – virgo47

回答

1

IntelliJ Idea可以運行其他目標來構建應用程序。

如果您有一個配置了staticweave插件的maven項目,可以添加一個maven「process-classes」目標以在想法構建運行時自動執行靜態紋理操作。

0

在啓動運行配置之前,您可以創建其他構建步驟。

  • 運行>編輯配置...
  • 選擇所需的運行配置
  • 添加您的靜態韋弗編譯器作爲下額外的生成步驟'發射前:
    • 例如添加一個Maven目標,例如eclipselink:weave
    • 或執行一個java進程,如java org.eclipse.persistence.tools.weaving.jpa.StaticWeave…
    • 位置應該在之間和'構建artifact``
  • 見截圖:Define additional build steps

另一種解決方案是定義Maven的目標,作爲Maven的工具窗口After Build鉤。只需右鍵單擊相應的Maven目標並選擇Execute After Build。這將在Build執行後每次通過Maven執行EclipseLink Weaver。你會看到背後Maven的目標,在括號中的鉤:

Create a Maven goal build hook in IDEA

相關問題