运行最新的Jetty版本会破坏我的构建

时间:2019-07-13 21:30:45

标签: java gradle jetty maven-central

我在Java项目中使用Jetty。我正在使用gradle构建和OpenJDK 1.8。

最近我的构建崩溃了,我确定如果我回滚了,Jetty版本是固定的。看来新版本的Jetty jar是用不同版本的Java构建的(我只是在这里猜测)。

这是我的build.gradle ...

apply plugin: 'java'

// Use maven repository
repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.eclipse.jetty:jetty-servlet:+'
    implementation 'org.eclipse.jetty:jetty-client:+'
}

这是构建错误...

  

/home/me/src/Chess/src/main/java/Client.java:1:错误:不能   访问HttpClient导入org.eclipse.jetty.client.HttpClient;                                  ^坏的类文件:/home/me/.gradle/caches/modules-2/files-2.1/org.eclipse.jetty/jetty-client/10.0.0-alpha0/81ce90a421540f2c7e4e3026702dde608fc95c83/jetty-client-10.0.0-alpha0 .jar(org / eclipse / jetty / client / HttpClient.class)       类文件的版本55.0错误,应为52.0       请删除或确保它出现在类路径的正确子目录中。

当我更改gradle.build以使用早期版本的Jetty时,该构建可以正确编译...

dependencies {
    implementation 'org.eclipse.jetty:jetty-servlet:9.4.18.v20190429'
    implementation 'org.eclipse.jetty:jetty-client:9.4.18.v20190429'
}

如何在不中断构建的情况下使用最新版本的Jetty?我必须升级我的Java版本吗?这似乎不是一个好的解决方案...

1 个答案:

答案 0 :(得分:2)

Jetty 10是不稳定的,正在开发中的版本。还没有准备好用于一般用途。准备就绪时,确实需要Java的较新版本,可能还需要其他支持软件的较新版本。这是主要版本跳转的典型情况。

根据https://www.eclipse.org/jetty/download.html,适用于一般用途的Jetty的最新稳定版本是9.4.19.v20190610。那就是你应该使用的。像9.4.18一样,它将对OpenJDK 1.8感到满意。