无法使用gradle提供的classpath从eclipse中在WebSphere中部署项目

时间:2019-02-05 18:13:28

标签: java eclipse gradle gradle-eclipse

我正在使用带有eclipse-wtp插件的gradle包装器5.1.1来构建多模块EAR。我正在将该项目作为Eclipse中现有的gradle项目导入,并且没有错误。但是,一旦我尝试在WebSphere 8.5.5中部署应用程序,就会收到以下错误:

[2/5/19 12:00:09:566 CST] 00000154 wtp           E org.eclipse.jst.j2ee.commonarchivecore.internal.impl.CommonarchiveFactoryImpl createTempZipFileStrategyIfPossible Failed to open input stream on target [ WEB-INF/lib/ServiceBusiness.jar ].
Failed to create temporary file.
A nested strategy will be used, but this usually slows performance dramatically.
...
...
Caused by: com.ibm.ws.exception.RuntimeWarning: java.io.FileNotFoundException: Unable to obtain binaries path for [ NestedArchiveLoadStrategy [ -1512854742 ] URI [ WEB-INF/lib/ServiceBusiness.jar ] Container [ 391870138 ] Open [ true ] ]

如果我使用gradle构建应用程序,它可以很好地部署并且可以正常工作。

经过研究,我发现问题是由于gradle创建项目的类路径的方式造成的。

Gradle created classpath entries

对于该解决方案,我有一种解决方法,其中涉及取消选中Allow output folders for source folders复选框,然后成功部署应用程序。但这导致所有开发人员每次刷新gradle项目时都必须手动纠正eclipse中的类路径。

是否有任何方法可以使它正常运行?

项目结构如下:

Service.ear
+
+--->Service.war
+          +
           | +-->ServiceBusiness.jar
           +

0 个答案:

没有答案