我在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版本吗?这似乎不是一个好的解决方案...
答案 0 :(得分:2)
Jetty 10是不稳定的,正在开发中的版本。还没有准备好用于一般用途。准备就绪时,确实需要Java的较新版本,可能还需要其他支持软件的较新版本。这是主要版本跳转的典型情况。
根据https://www.eclipse.org/jetty/download.html,适用于一般用途的Jetty的最新稳定版本是9.4.19.v20190610。那就是你应该使用的。像9.4.18一样,它将对OpenJDK 1.8感到满意。