项目升级 jdk 8 中遇到几个问题

项目背景技术:
jdk 1.6
spring 3.x
tomcat 6
dubbo

一般都是包冲突, 或者包缺失

通过 gradle dependencies --configure compile 或者 mvn dependency:tree 可以看到项目的依赖树
方便查找

javassist 包冲突,运行报错:java.io.IOException: invalid constant type: 15

将 javassist 包升级到 18 以上

        <dependency>
            <groupId>org.javassist</groupId>
            <artifactId>javassist</artifactId>
            <version>3.23.1-GA</version>
        </dependency>

注意, javassist 有2个group,一个是 "javassist",一个是 "org.javassist"
要使用 "org.javassist", 需要排除掉另一个
比如:
for gradle

compile (group: 'org.scannotation', name: 'scannotation', version:'1.0.3'){
    exclude module:"javassist"
}

for maven

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
            <exclusions>
                <exclusion>
                    <artifactId>spring</artifactId>
                    <groupId>org.springframework</groupId>
                </exclusion>
            </exclusions>
        </dependency>

然后遇到问题

java.lang.NoClassDefFoundError: javax/xml/soap/SOAPException

简单讲就是某些 jar 包在jdk中默认不集成了, 比如sun系的
其他解释可以在这里找到:

https://stackoverflow.com/questions/48626824/java-lang-noclassdeffounderror-javax-xml-soap-soapexception
https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j
https://www.concretepage.com/questions/531

办法就是添加下下面的包

compile 'javax.xml.bind:jaxb-api:2.2.11'
compile 'com.sun.xml.bind:jaxb-impl:2.1.2'
compile 'javax.xml.soap:javax.xml.soap-api:2.2.11'

然后又想将 spring 升级到 5.x

configurations.all {
    resolutionStrategy {
        // javassist 的版本强制指定为 3.23.1
        force 'org.javassist:javassist:3.23.1-GA'
//        // 将依赖中的spring包,升级为 4.0
          eachDependency { DependencyResolveDetails details ->
              if (details.requested.group == 'org.springframework' ) {
                  details.useVersion '4.0.0.RELEASE'
              }
          }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容