我有一个包含Xamarin.Android Build任务的TFS2017构建定义。 Build任务有一个“JDK选项”部分。 JDK选项提供以下内容:
我的服务器上安装了以下内容:
如果我使用第一种方法并选择“Version 8”,它将使用jdk1.8.0_131构建。如果我使用第一种方法并选择“Version 7”,它将使用jdk1.7.0_55构建。但是如果我尝试使用第二种方法并输入jdk1.8.0_92的路径,它总是使用之前使用第一种方法选择的JDK进行构建。
以下是我尝试输入的一些路径:
C:\Program Files (x86)\Java\jdk1.8.0_92
"C:\Program Files (x86)\Java\jdk1.8.0_92"
C:\Program Files (x86)\Java\jdk1.8.0_92\bin
"C:\Program Files (x86)\Java\jdk1.8.0_92\bin"
C:\Program Files (x86)\Java\jdk1.8.0_92\bin\java.exe
"C:\Program Files (x86)\Java\jdk1.8.0_92\bin\java.exe"
C:\Program Files (x86)\Java\jdk1.8.0_92\bin\javac.exe
"C:\Program Files (x86)\Java\jdk1.8.0_92\bin\javac.exe"
有关它为什么不接受JDK的显式路径的任何想法?
Here is a linky到Xamarin.Android Build Task doc。
解决方案(Hacky-Sort-of solution):
将所需JDK的路径添加到“MSBuild Additional Arguments”:
/p:JavaSdkDirectory="C:\Program Files (x86)\Java\jdk1.8.0_92"
在“JDK选项”下选择“JDK版本”并将版本设置为“默认”。这似乎迫使Build使用所需的JDK版本。