dubbo消费者启动报错UnsatisfiedLinkError /jdk1.8.0_181/jre/lib/amd64/libawt_xawt.so: libXrender.so.1

本文详细记录了在启动Dubbo消费者时遇到的java.lang.UnsatisfiedLinkError错误,并提供了具体的解决步骤,包括安装libxrender-dev和libxtst-dev来修复与JDK相关的共享库缺失问题。

dubbo消费者启动报错java.lang.UnsatisfiedLinkError: /usr/tools/jdk1.8.0_181/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory
 

11:48:22.562 [localhost-startStop-1] WARN  org.springframework.web.context.support.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0' defined in ServletContext resource [/WEB-INF/spring-mvc.xml]: Cannot create inner bean 'org.springframework.http.converter.BufferedImageHttpMessageConverter#613d5509' of type [org.springframework.http.converter.BufferedImageHttpMessageConverter] while setting bean property 'messageConverters' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.http.converter.BufferedImageHttpMessageConverter#613d5509' defined in ServletContext resource [/WEB-INF/spring-mvc.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.http.converter.BufferedImageHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: /usr/tools/jdk1.8.0_181/jre/lib/amd64/libawt_xawt.so: libXrender.so.1: cannot open shared object file: No such file or directory
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:287) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:358) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]


解决办法:apt-get install libxrender-dev

重启tomcat,问题解决

重启后上面的问题解决同时报了一个类似的错误:java.lang.UnsatisfiedLinkError: /usr/tools/jdk1.8.0_181/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory

14:45:45.004 [localhost-startStop-1] WARN  org.springframework.web.context.support.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0' defined in ServletContext resource [/WEB-INF/spring-mvc.xml]: Cannot create inner bean 'org.springframework.http.converter.BufferedImageHttpMessageConverter#1e98ce20' of type [org.springframework.http.converter.BufferedImageHttpMessageConverter] while setting bean property 'messageConverters' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.http.converter.BufferedImageHttpMessageConverter#1e98ce20' defined in ServletContext resource [/WEB-INF/spring-mvc.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.http.converter.BufferedImageHttpMessageConverter]: Constructor threw exception; nested exception is java.lang.UnsatisfiedLinkError: /usr/tools/jdk1.8.0_181/jre/lib/amd64/libawt_xawt.so: libXtst.so.6: cannot open shared object file: No such file or directory
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:287) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:358) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:157) ~[spring-beans-3.2.13.RELEASE.jar:3.2.13.RELEASE]
 

解决办法:apt-get install libxtst-dev

重启tomcat,问题解决

在使用 Dubbo 与 Spring 整合时,如果 XML 配置文件中的命名空间 `http://code.alibabatech.com/schema/dubbo` 报红,通常是因为 IDE 无法加载远程的 XSD 文件(如 `dubbo.xsd`),这可能是由于网络问题或该地址已失效所致 [^1]。 ### 解决方法如下: #### 1. 手动下载 XSD 文件 可以手动从 Dubbo 的官方发布包中提取 `dubbo.xsd` 文件。这个文件通常位于 Dubbo 的 JAR 包内部的 `META-INF/spring.schemas` 路径下 [^3]。也可以通过 Maven 本地仓库获取对应版本的 JAR 文件并解压查找。 #### 2. 配置 XML Catalog 将下载好的 `dubbo.xsd` 文件保存到本地项目目录中(例如:`src/main/resources/xsd/dubbo.xsd`)。然后在 IDE(如 IntelliJ IDEA 或 Eclipse)中配置 XML Catalog,将命名空间 URI 映射到本地路径: - **Key 类型**:选择 `Schema location` - **Key**:填写 `http://code.alibabatech.com/schema/dubbo/dubbo.xsd` - **Location**:填写本地 `dubbo.xsd` 文件的路径 这样 IDE 就可以在不联网的情况下正确解析 XSD 文件,消除报红错误 [^2]。 #### 3. 确保依赖正确引入 确保项目中已经正确引入了 Dubbo 的依赖。例如,在 Maven 项目的 `pom.xml` 中添加以下依赖: ```xml <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.5</version> </dependency> ``` 此操作可帮助 IDE 自动识别部分 Schema 文件,尤其是在集成开发环境中具备自动提示和校验功能 [^3]。 #### 4. 使用更新的 Dubbo 版本 如果你使用的是较旧的 Dubbo 版本(如 2.5.x),建议升级到更新的版本(如 Apache Dubbo 2.7.x 或更高),因为新版本可能已经解决了命名空间和 Schema 相关的问题,并且提供了更好的兼容性与稳定性。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值