Sho*_*orn 6 java windows bash gradle windows-subsystem-for-linux
我的Windows 10计算机最近强行将我升级到Windows的新“ Creators Update”版本,“关于您的PC”小部件现在将我的操作系统版本报告为“ 1703”。
我以为在Windows上使用Linux / Ubuntu的Windows子系统来编译Gradle项目时会遇到困难。
我在安装了Windows JDK c:\jvm\jdk1.8.0_102
。
在我的MinGW终端窗口(“ git bash”)中,我可以设置JAVA_HOME并从源目录执行gradle wrapper脚本,它将可以正常工作:
export JAVA_HOME=/c/jvm/jdk1.8.0_102
./gradlew tasks
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何用WSL做等效的事情。打开“ Windows上的Ubuntu上的Bash”终端,切换到我的源目录并调用以下命令:
export JAVA_HOME=/mnt/c/jvm/jdk1.8.0_102
./gradlew tasks
Run Code Online (Sandbox Code Playgroud)
结果如下:
ERROR: JAVA_HOME is set to an invalid directory: /mnt/c/jvm/jdk1.8.0_102
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Run Code Online (Sandbox Code Playgroud)
请注意,Windows JDK在bash终端中运行良好。$JAVA_HOME/bin/java.exe -version
在Ubuntu终端中执行可以正常工作。
问题是:
有什么方法可以使用我先前安装的Windows JDK从“ Windows上的Ubuntu上的Bash”终端运行gradlew脚本。
请注意:
我特别在问是否可以使用Windows JDK运行我的Gradle脚本,而不是使用WSL安装的Ubuntu / Linux JDK。我知道我可以通过在Windows Sunbsystem for Linux中安装Linux JDK来运行gradle wrapper脚本,但是我试图弄清楚是否可以使用Windows JDK运行我的构建。
当您从 WSL 内部启动时./gradlew
,它会尝试从 Java 安装运行 Java 二进制文件$JAVA_HOME
。它是什么样的安装?它包含 Windows 二进制文件还是 Linux 二进制文件?
如果问题简化为:“如何从 WSL 运行 Windows 二进制文件”。
那么答案是:“你不能——这不受支持”。
归档时间: |
|
查看次数: |
898 次 |
最近记录: |