首页 > 解决方案 > 如何构建和运行 okhttp 3.10.0

问题描述

我从https://github.com/square/okhttp克隆代码

我想阅读3.10.0版本的源代码。

但它无法成功编译。

gongzelong:okhttp gongzelong$ git branch
  master
* parent-3.10.0
gongzelong:okhttp gongzelong$ mvn clean verify
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[ERROR] 'build.plugins.plugin[org.apache.maven.plugins:maven-surefire-plugin].dependencies.dependency.version' for org.mortbay.jetty.alpn:alpn-boot:jar must be a valid version but is '${alpn.jdk8.version}'. @ com.squareup.okhttp3:parent:3.10.0, /Users/gongzelong/Android/okhttp/pom.xml, line 320, column 28
 @ 
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.squareup.okhttp3:okhttp:3.10.0 (/Users/gongzelong/Android/okhttp/okhttp/pom.xml) has 1 error
[ERROR]     'build.plugins.plugin[org.apache.maven.plugins:maven-surefire-plugin].dependencies.dependency.version' for org.mortbay.jetty.alpn:alpn-boot:jar must be a valid version but is '${alpn.jdk8.version}'. @ com.squareup.okhttp3:parent:3.10.0, /Users/gongzelong/Android/okhttp/pom.xml, line 320, column 28
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException

添加我的答案中的代码后,它可以运行“mvn clean verify”

但 IDEA 显示如下错误:

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述

标签: javaandroidmavenokhttp

解决方案


对于 org.mortbay.jetty.alpn:alpn-boot:jar 必须是有效版本,但为 '${alpn.jdk8.version}'

在他们的 build.gradle 他们有

def alpnBootVersion() {
def version = System.getProperty('alpn.boot.version')

if (version != null) {
  return version
}

他们可能在本地 gradle.properties 中添加了 alpn.jdk8.version 作为变量。更改def version = System.getProperty('alpn.boot.version')def version = 8.1.13,这应该可以解决问题。


推荐阅读