Java 如何构建和运行okhttp 3.10.0

Java 如何构建和运行okhttp 3.10.0,java,android,maven,okhttp,Java,Android,Maven,Okhttp,我从中克隆代码 我想阅读3.10.0版本的源代码 但它无法成功编译 gongzelong:okhttp gongzelong$ git branch master * parent-3.10.0 添加我的答案中的代码后,它可以运行“mvn clean verify” 但IDEA显示了如下错误: 您还可以将该库添加到演示项目中,android studio中的将其更改为项目文件夹。您可以在外部库中找到它 或者您可以下载它,然后使用VsCode编辑器打开它并阅读 对于org.mortbay.

我从中克隆代码

我想阅读3.10.0版本的源代码

但它无法成功编译

gongzelong:okhttp gongzelong$ git branch
  master
* parent-3.10.0
添加我的答案中的代码后,它可以运行“mvn clean verify”

但IDEA显示了如下错误:


您还可以将该库添加到演示项目中,android studio中的将其更改为
项目
文件夹。您可以在外部库中找到它

或者您可以下载它,然后使用
VsCode
编辑器打开它并阅读

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

在他们的体格里,他们有

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
,这应该可以解决问题。

这是因为我的java版本缺少alpn版本

gongzelong:okhttp gongzelong$java-版本 java版本“1.8.0_172” Java(TM)SE运行时环境(build 1.8.0_172-b11) Java HotSpot(TM)64位服务器虚拟机(构建25.172-b11,混合模式)

因此,在我在文件中添加以下代码之后 /Users/gongzelong/Android/okhttp/pom.xml

gongzelong:okhttp gongzelong$ git diff
diff --git a/pom.xml b/pom.xml
index 8b87c2038..274159c3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -620,5 +620,14 @@
         <alpn.jdk8.version>8.1.12.v20180117</alpn.jdk8.version>
       </properties>
     </profile>
+    <profile>
+      <id>alpn-when-jdk8_172</id>
+      <activation>
+        <jdk>1.8.0_172</jdk>
+      </activation>
+      <properties>
+        <alpn.jdk8.version>8.1.12.v20180117</alpn.jdk8.version>
+      </properties>
+    </profile>
   </profiles>
 </project>

gongzelong:okhttp gongzelong$git diff
diff——git a/pom.xml b/pom.xml
索引8b87c2038..274159c3e 100644
---a/pom.xml
+++b/pom.xml
@@ -620,5 +620,14 @@
8.1.12.v20180117
+    
+alpn-when-jdk8_172
+      
+        1.8.0_172
+      
+      
+8.1.12.v20180117
+      
+    

它可以运行“mvn clean verify”和“mvn clean install”。

这是一个选项,但问题发生的原因以及如何直接解决?您可以尝试Isaame answer。但是OkHttp是一个纯库如果你使用android studio打开它,你必须使用导入模块或添加库方法。你提到的代码属于3.10.0版本?3.10中似乎没有此类代码。0@FrancisBacon检查他们的build.gradle,它是8天前编辑的:你的意思是试图构建okhttp的最新源代码。但是如何构建3.10.0源代码呢?正如@Lenoarod所说:“OkHttp是一个纯库,如果你使用android studio打开它,你必须使用导入模块或添加库方法。”。它不是作为一个独立的项目来构建的。我是通过IDEA打开的,所以我应该使用maven来编译这个项目。而且CONTRIBUTE.MD说,它可以成功运行“mvn clean verify”。我希望它能帮助您:@ViralPatel谢谢,在本地添加jar之前,我更愿意找出它找不到jar的原因,它有7.1.2.v20141202 alpn。但IDEA显示错误。请提供日志或错误message@ViralPatel关于想法错误,请检查屏幕截图。我的意思是错误在IDEA中显示出来了。”mvn clean verify’在我完成了我在回答中所说的之后现在运行良好。如何在Gradle中实现okhttp?
gongzelong:okhttp gongzelong$ git diff
diff --git a/pom.xml b/pom.xml
index 8b87c2038..274159c3e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -620,5 +620,14 @@
         <alpn.jdk8.version>8.1.12.v20180117</alpn.jdk8.version>
       </properties>
     </profile>
+    <profile>
+      <id>alpn-when-jdk8_172</id>
+      <activation>
+        <jdk>1.8.0_172</jdk>
+      </activation>
+      <properties>
+        <alpn.jdk8.version>8.1.12.v20180117</alpn.jdk8.version>
+      </properties>
+    </profile>
   </profiles>
 </project>