gpt4 book ai didi

java - ANT 到 Gradle 迁移 - 依赖性问题

转载 作者:行者123 更新时间:2023-12-01 19:02:31 24 4
gpt4 key购买 nike

正在将我的 java 应用程序从 ANT 迁移到 Gradle 工具我的ear应用程序包括jar和war,例如EJB模块、web模块和util模块。我已完成从 build.xml 重写为 build.gradle 并构建成功。耳朵也生成了。但是当我尝试在 WebSphere 中部署时,我能够部署该应用程序。问题是当我在 WebSphere 中启动应用程序时无法启动该应用程序。我遇到以下错误。

[‎1/‎6/‎2020 6:22 AM]  
[1/6/20 6:20:17:720 EST] 0000009c annotation W com.ibm.ws.webcontainer.annotation.WASAnnotationHelper collectClasses SRVE8000W: Skipped class that failed to initialize for annotation scanning.
java.lang.ClassNotFoundException: com.manulife.pension.heartbeat.servlet.HeartBeatServlet
at java.lang.Class.forNameImpl(Native Method)
at java.lang.Class.forName(Class.java:403)
at com.ibm.ws.webcontainer.annotation.WASAnn

我已在 ejb 模块的 build.gradle 和 Ear 模块构建的依赖项中将这个包 com.manulife.pension.heartbeat.servlet.HeartBeatServlet 声明为 heartbeat.jar。 gradle 也是如此:

implementation(group: 'heartbeat', name: 'heartbeat', version: '1.0')

我的 heartbeat.jar 在 Gradle 中添加为 heartbeat-1.0.jar,正如我们所知,在 Maven 和 Gradle 中,这些依赖项是通过名称中的版本添加的。

当我在部署的耳朵中将这个 heartbeat-1.0.jar 替换为 heartbeat.jar 时,上面的错误消失了

有人可以帮助我如何处理这些依赖项的命名问题吗?我们是否应该在某个地方声明,因为问题是在运行时出现的!!

最佳答案

请参阅 this answer 如何尝试确定 JAR 的正确版本。

如果您无法确定正确的版本,请将 JAR 作为 local file 添加到您的 Gradle 项目中。

关于java - ANT 到 Gradle 迁移 - 依赖性问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59613078/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com