gpt4 book ai didi

java - Rational Application Developer (RAD) 7.5+ 和 websphere runtime 不会从项目中获取 jar

转载 作者:行者123 更新时间:2023-11-30 07:37:51 28 4
gpt4 key购买 nike

使用 RAD 版本:7.5.3,Java 1.5。

我有几个不同的项目。我需要分解 java 代码并将 *.class 文件转换为 jar。所以基本上,相同的 *.class 文件我只是删除了代码,然后将类文件压缩到一个 jar 中。

我将这些类分解为一个 jar,然后将该 jar 包含在项目中。而且我还对 jar 进行了订购/导出,以便其他项目可以看到该 jar。

在这一点上,理想情况下我的项目不应该改变,因为我使用的是 jar 中的类文件而不是 java 代码。

当我在 websphere 中访问我的 web 应用程序时,我收到关于现在位于 jar 中的类的类未找到错误。

项目结构:

A. Project earApp  -- will need the webapp
B. Project webapp -- will need the project (no jar files or *.java files are found in this project)
C. Project javasrc -- the java source and the NEW JAR file are found here.

我认为 websphere 没有识别 jar。

这里是错误:

java.lang.NoClassDefFoundError: com.MyApp
at java.lang.ClassLoader.defineClassImpl(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:258)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:151)
at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:675)
at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java:614)
at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:431)
at java.lang.ClassLoader.loadClass(ClassLoader.java:597)
at java.lang.Class.getDeclaredMethodsImpl(Native Method)
at java.lang.Class.getDeclaredMethods(Class.java:664)
at com.ibm.ws.webcontainer.annotation.data.ScannedAnnotationData.collectMethodAnnotations(ScannedAnnotationData.java:130)
at com.ibm.ws.webcontainer.annotation.data.ScannedAnnotationData.<init>(ScannedAnnotationData.java:47)
at com.ibm.ws.webcontainer.annotation.AnnotationScanner.scanClass(AnnotationScanner.java:61)
at com.ibm.ws.wswebcontainer.webapp.WebApp.processRuntimeAnnotationHelpers(WebApp.java:711)
at com.ibm.ws.wswebcontainer.webapp.WebApp.populateJavaNameSpace(WebApp.java:624)
at com.ibm.ws.wswebcontainer.webapp.WebApp.initialize(WebApp.java:289)
at com.ibm.ws.wswebcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:93)
at com.ibm.ws.wswebcontainer.VirtualHost.addWebApplication(VirtualHost.java:162)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApp(WebContainer.java:671)
at com.ibm.ws.wswebcontainer.WebContainer.addWebApplication(WebContainer.java:624)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:395)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:611)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1274)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1165)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:587)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:832)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:921)
at com.ibm.ws.runtime.component.ApplicationMgrImpl$AppInitializer.run(ApplicationMgrImpl.java:2124)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:342)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)

你觉得我需要做什么?

最佳答案

我们升级到WAS 7.0的时候遇到了同样的问题

显然 WAS 7.0 改变了它查找其依赖项的方式,您需要确保您正在创建的 JAR 文件也在使用它们的 list 文件中提及。

因此,如果您同时在 EJB 和 Web 项目中使用它,则需要更新两个 list 文件以引用 JAR。

关于java - Rational Application Developer (RAD) 7.5+ 和 websphere runtime 不会从项目中获取 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2364752/

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