【问题标题】:Running the latest Jetty version breaks my build运行最新的 Jetty 版本会破坏我的构建
【发布时间】:2019-07-13 21:30:45
【问题描述】:

我在我的 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 导入 o​​rg.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 版本吗?这似乎不是一个好的解决方案...

【问题讨论】:

    标签: java gradle jetty maven-central


    【解决方案1】:

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

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

    【讨论】:

    • Jetty 10 适用于 Jakarta Servlet 4.0 和 Java 11+ btw。
    猜你喜欢
    • 2020-06-26
    • 1970-01-01
    • 2016-08-16
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多