jboss的包冲突

在MyEclipse中指定工程在JBoss中的部署目录:%DEPLOY_PATH%,实际开发中使用的是%JBOSS_HOME%/server/khsafe,打包时要求放到这个目录下:%JBOSS_HOME%/server/default此两者的切换造成了一部分的问题

项目依赖的包分为以下四类:

1:JRE System Library,我们使用JRockit,使用版本不同的JRE会造成诸如:override/annotation/properties.store这样的报错。这类包出现问题会导致编译无法通过。

2:J2EE的包,主要是和容器相关。一般这部分不会出现问题。

3:容器下的指定部署环境所依赖的包,指定部署环境%DEPLOY_PATH%相当于一个tomcat,%DEPLOY_PATH%/lib为该环境下运行工程共享的包。我们的项目中使用的为指定的user_libraries:khsafe_library。

4:%PROJECT%/WEB-INF/lib下的就是项目自己的包。

以上四类的包(被引用的)不能存在冲突,也不能少包,现在的问题就是3中的包在%DEPLOY_PATH%的切换过程中产生了冲突。一般只要删除原来的%DEPLOY_PATH%/lib下的包再导一次就可以解决问题:ClassNotFoundException和CannotCreateBeanWithName XXX之类的问题

### Jackson包冲突解决方案 在Java项目中遇到Jackson包冲突问题时,可以采取多种方法来解决问题。一种常见的情况是在Spring Boot项目里由于隐性依赖冲突导致的问题[^1]。当Spring Boot父POM默认集成了特定版本的Jackson库而项目又显式引入了不同版本或者第三方库传递依赖了旧版,则可能引起版本间的不兼容。 针对这种情况,推荐的方法是通过统一Jackson依赖版本的方式来处理。具体操作可以在项目的`pom.xml`文件中定义所有关于Jackson组件的确切版本号,确保整个应用使用的都是同一套API实现。 另外,在某些场景下比如Elasticsearch客户端与JBoss(WildFly)服务器共存的应用环境中也可能会遭遇类似的挑战。此时可以通过直接指定所需的核心模块版本如`jackson-core`并将其加入到构建配置当中来缓解此类矛盾[^2]。 对于因集成外部服务端口(例如京东SDK)而导致的对象映射器找不到类定义错误的情形,除了调整本地工程设置外还需要注意排查是否有多个不同的对象序列化框架被加载到了classpath路径上造成干扰。这通常涉及到移除不必要的重复项以及修正那些间接引用老式的Codehaus Jackson API的地方[^3]。 最后,面对更复杂的多源输入情况下的JAR包碰撞现象,可考虑采用排除策略——即利用Maven提供的功能阻止自动拉取更高版本或是不需要的部分;同时明确声明所期望保留下来的那一组库件清单以维持系统的稳定性和一致性[^5]。 ```xml <dependencies> <!-- 明确指定Jackson核心库及其版本 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${desired.version}</version> </dependency> <!-- 排除其他版本的Jackson依赖 --> <dependency> ... <exclusions> <exclusion> <groupId>com.fasterxml.jackson.module</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency> </dependencies> ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值