我发现以下错误:
ContextListenerjava。lang.LinkageError:加载程序约束冲突:解析方法“org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;”类加载器的组织。阿帕奇。卡塔琳娜。加载器。WebappClassLoader@4d1cc3c3(URL:['],家长:[)”java.net。URLClassLoader@4fccd51b当前类org/slf4j/LoggerFactory和类加载器系统(URL:[“文件:/usr/lib/jvm/jvm_8/jvm_8/lib/jvmx.jar”,“文件:/usr/lib/jvm_8/jvm_8/lib/tools.jar”,“文件:/…
似乎我的云平台默认包slf4j
,我收到这个错误,因为我还将slf4j作为依赖项放在我的pom文件中,并且两个不同的类加载器正在加载slf4j
我解决这个问题的方法是将pom中的依赖范围更改为提供。
但副作用是我无法在本地的tomcat上运行它,因为它找不到slf4j库。
在这种情况下,可以做些什么来使我的战争在我的云平台和我的本地tomcat上正常运行?
如果您使用的是spring-boot-starter-web-1.5.1。释放jar,那么你需要排除jul-to-slf4j-1.7.22。jar,jcl-over-slf4j-1.7.22。罐子这两个jar有冲突的slf4j api<代码>
您可以在pom.xml.中使用不同的配置文件
SAP云平台示例:
<profiles>
<profile>
<id>local</id>
<properties>
<packaging.type>jar</packaging.type>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<id>scp</id>
<properties>
<packaging.type>war</packaging.type>
</properties>
<build>
<finalName>LoraConnector</finalName>
</build>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
</profile>
</profiles>
您可以使用Eclipse(或其他工具)中的“运行配置”或在构建war文件时使用配置文件:
mvn -P scp clean package
A在B中使用web服务。 B在A中使用web服务。 Tomcat的一切都很好。但当我在Jboss中部署时,却面临着链接错误。
我见过其他的链接错误,但没有一个能说明如何使用罐子。当我在Jboss中部署我的应用程序时,它可以正常工作,但当我将应用程序部署到websphere时,我遇到了这种链接错误。在这里可以找到一个类似的问题:调用webservice方法时出现LinkageError,但不确定如何修复它 它主要是从和加载的,带有共享类 我所拥有的是jsp调用Web服务。从消息中,我看到的唯一jars来自axis.jar,
我在WebSphereApplicationServer(8.5.5.14)中遇到了LinkageError。这里也发现了类似的问题LinkageError 原因:java。lang.LinkageError:解析方法“javax/xml/soap/SOAPElement.getElementQName()Ljavax/xml/namespace/QName;”时加载约束冲突:loader“com
组织。springframework。豆。BeanInstationException:无法实例化bean类[gts.efx.web.login.LogInController]:构造函数引发异常;嵌套的例外是java。lang.LinkageError:加载程序约束冲突:解析方法“javax.net.ssl.SSLContext.getSocketFactory()Ljavax/net/ssl/
有人知道我该怎么办吗?还是我做错了什么? 提前多谢
类文件DTDScanner,DocumentScanner正在从两个jar文件com.ibm.ws.webservices.thinclient_8.5.0.jar(由应用程序通过WEB-INF/lib提供)和由Liberty profile Liberty提供的com.ibm.ws.xlxp.1.5.3_1.0.16.jar加载。这些类文件具有java.lang.LinkageError:loa