我使用的是IntelliJ,我希望我的单元测试可以通过静态编织来运行或调试,比如延迟加载等等。我知道与Eclipse不同的是,IntelliJ没有静态编织步骤,但我想在运行或调试测试之前,一定有人已经将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兄弟姐妹们是不是只是在这上面下注,而跳过在集成开发环境中的编织?我们是不是不使用EclipseLink,或者我们已经想出了如何在处理静态编织的同时仍然使用IntelliJ?
谢谢!
发布于 2014-09-24 15:28:40
IntelliJ Idea可以运行额外的目标来构建应用程序。
如果您有一个配置了staticweave插件的maven项目,那么可以添加一个maven "process-classes“目标,以便在idea构建运行时自动执行staticweave操作。
发布于 2017-02-17 02:45:02
您可以在启动运行配置之前创建其他生成步骤。
eclipselink:weavejava org.eclipse.persistence.tools.weaving.jpa.StaticWeave…Build和`

另一种解决方案是在Maven工具窗口中将Maven目标定义为After Build的钩子。只需右键单击适当的Maven并选择Execute After Build即可。这将在每次执行Build之后通过Maven执行EclipseLink编织器。您将在Maven目标后面的括号中看到钩子:

https://stackoverflow.com/questions/18495211
复制相似问题