- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在开发一个大型应用程序,我刚刚在 axis 的帮助下添加了一个由 eclipse 生成的新 Web 服务。该应用程序在我的开发环境(应用程序由 jetty 托管)中运行良好,但现在我在 weblogic 中运行我的应用程序时遇到了麻烦(需要部署应用程序的地方)。我得到的错误是:
java.lang.LinkageError: loader constraint violation in interface
itable initialization: when resolving method
"org.apache.axis.client.Service.getServiceName()Ljavax/xml/namespace/QName;"
the class loader (instance of
weblogic/utils/classloaders/ChangeAwareClassLoader) of the current
class, org/apache/axis/client/Service, and the class loader (instance
of sun/misc/Launcher$AppClassLoader) for interface
javax/xml/rpc/Service have different Class objects for the type
getServiceName used in the signature
这个问题已经拖延了好几天的开发。据我在网上看的了解:
第一个问题:我的观察是否正确?
第二个问题:我可以做什么/尝试解决这个问题?
额外信息:
编辑:我的项目中有一个 weblogic.xml,内容如下:
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-web-app >
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
<context-root>auditgui</context-root>
</weblogic-web-app>
我的WAR文件结构如下:
file.war
|--crossdomain.xml
|--robots.txt
|--META-INF
| \--MANIFEST.MF
|--WEB-INF
| |--classes
| | |--com
| | | \--...
| | |--spring
| | | |--main-context.xml
| | | \--security-context.xml
| | \--environment-beans.xml
| |--lib
| | \--multiplejars.jar
| |--spring
| | |--raw-servlet-context.xml
| | |--root-context.xml
| | \--servlet-context.xml
| |--web.xml
| \--weblogic.xml
|--css
| \--multipleCSSFiles.css
|--js
| \--multipleJSFiles.js...
|--img
| \--muultipleImages.png...
\--multipleHTMLFiles.html...
最佳答案
好的,我解决了这个问题。我发现了相互冲突的依赖项;
使用
weblogic-web-app/container-descriptor
不适合我:
prefer-web-inf-classes = true
已经设置并且将其更改为更喜欢应用程序包只会导致更多麻烦,因为该项目已经依赖于更喜欢的类配置。
我用了findjar在哪个 jar 里查找我的 QName resides并将这些 jar 放在我的内存中。
然后通过使用
mvn dependency:tree
我得到了我项目的所有依赖项和子依赖项(不会发布它,因为 POM 很大)。
我注意到有两个名称中带有“stax”的依赖项。一个“官方”stax jar(xmlbeans 的子依赖项)和一个来自 genronimo(公理的子依赖项)。所以我做了一些研究,发现 geronimo stax 是对原始 stax jar 的实现/改编,因此两者都包含 QName。我从依赖项列表中删除了原始的 stax:
<dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<version>2.5.0</version>
<!-- Excluding XMLBean's STAX because we want to use axiom/geronimo-stax -->
<exclusions>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
</exclusions>
</dependency>
希望对您有所帮助:)
关于部署到 weblogic 时出现 Java LinkageError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33419002/
我遵循了 http://www.jacoco.org/jacoco/trunk/doc/examples/java/CoreTutorial.java 上的 CoreTutorial 示例类(clas
我正在尝试在tomcat 8.0.22上部署spring mvc项目。我使用Gradle作为项目构建者。当我尝试为项目午餐时,我有一个 error code 500 。 这就是我的项目: build.
尝试通过命令行使用数据库迁移插件 1.3.6 时出现奇怪的错误 grails --stacktrace dbm-generate-gorm-changelog changelog.groovy 错误是
我的 JSystem/Java/Eclipse 环境有一些问题。 我收到此错误,但我不明白出了什么问题: java.lang.LinkageError: loader constraint viola
我尝试从 发送带有附件的电子邮件但我收到这个错误。看不懂什么意思。 17:11:44,059 ERROR [http-nio-8080-exec-6][render_portlet_jsp:
我正在尝试将 jboss wildfly 8 配置为将 Jackson 用于 JSON。所以我加了 org.jboss.resteasy resteasy-jackson-provi
嘿嘿, friend 们,我的方法出现了异常......请帮我解决这样的错误 Exception in handleDisplayableEvent. Reason: LinkageError so
尝试运行我的 Flex 项目,但出现以下错误,请提出任何前进的建议:- 原因: java.lang.LinkageError: ClassCastException: attempting to ca
作为针对 L 预览测试现有 Android 应用程序的一部分,该应用程序崩溃并出现以下异常: 07-08 10:05:39.024: E/AndroidRuntime(2126): FATAL EXC
我正在为使用 Java servlet 的 WebSphere 6.1 开发一个应用程序。在我的 servlet 中,我定义了一个序列号 vesion ID 1L。在部署和运行我的应用程序时,我收到了
我正在开发一个大型应用程序,我刚刚在 axis 的帮助下添加了一个由 eclipse 生成的新 Web 服务。该应用程序在我的开发环境(应用程序由 jetty 托管)中运行良好,但现在我在 weblo
我确实遇到了 TestNG 和 RESTeasy 的一个非常烦人的问题。 我确实有一个类针对使用 RESTeasy 框架来公开自身的 API 类运行多个测试。 但是,如果我让测试使用 maven (m
在开发一个大量基于 XML 的 Java 应用程序时,我最近在 Ubuntu Linux 上遇到了一个有趣的问题。 我的应用程序,使用 Java Plugin Framework ,似乎无法转换 do
例如我们得到了: net.sf.jasperreports.engine.JRException: ... Caused by: net.sf.jasperreports.engine.fill.JR
我正在尝试创建一个类加载器,它将加载 .zip 文件中的 .class 文件。我按照本教程( https://weblogs.java.net/blog/2008/07/25/how-load-cla
我在规划 Eclipse Kepler 时遇到问题。 日志文件显示“无法运行处理器错误”:* !SESSION 2015-07-11 17:27:36.405 --------------------
出于项目目的,我不得不坚持使用Java 1.6进行开发,我使用了异步客户端jar文件并将其合并到我的项目中以实现异步功能,并使用java 1.6开发并导出了一个JAR。这个 jar 包含在另一个在 j
我有这个错误 java.lang.LinkageError: ClassCastException: attempting to tomcat-debug-eclispe/wtpwebapps/xwi
这是我的Java环境: ~: java -version java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Enviro
如何防止 AntClassLoader 和 URLClassLoader 导致链接错误? 由于项目较旧,junit 和 hamcrest.core 被放入 ANT_HOME 中,我们的构建使用 inc
我是一名优秀的程序员,十分优秀!