解决由maven依赖性引起的不受支持的主要次要版本异常的最佳方法

时间:2018-03-20 05:48:01

标签: java maven

我有一个maven项目,需要运行JDK 1.7(我知道它是EOL但是迁移到JDK 1.8 / 1.9仍然只有几个季度)。

我得到例外:

  

org / eclipse / jetty / server / handler / HandlerCollection:不支持   major.minor版本52.0   org / eclipse / jetty / server / handler / HandlerCollection:不支持   major.minor版本52.0服务器退出。

我通过关注this SO帖子解决了这个问题,该帖子提到将码头版本降级为9.2,解决了上述异常问题。现在下一个例外即将到来:

  

org / springframework / web / context / WebApplicationContext:不支持   major.minor版本52.0   org / springframework / web / context / WebApplicationContext:不支持   major.minor版本52.0服务器退出。

这是否意味着我必须继续通过降级依赖版本来逐个修复每个异常,或者是否有更聪明的方法?

如果这个配置很重要,我已经在我的eclipse中完成了配置mentioned here,以使我的应用程序符合Java 1.7(这可能是我的应用程序没有抛出不支持的异常的原因,而是它的依赖关系,投掷): 并且还在我的pom.xml中添加了这个(但它对依赖关系不重要)

<properties>
    <maven.compiler.source>1.7</maven.compiler.source>
    <maven.compiler.target>1.7</maven.compiler.target>
    <maven.test.skip>true</maven.test.skip>
  </properties>

编辑:我正在使用maven shade插件来构建一个阴影jar依赖项。 maven shade插件配置为:

<plugin>                                
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.1.0</version>
    <executions>
        <execution>                 
            <phase>package</phase>
            <goals>
                <goal>shade</goal>
            </goals>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>                                                                        
        </execution>                                        
    </executions>
</plugin>

0 个答案:

没有答案