有问题的项目来自多个开源组织,其gitignores / build.gradle / gradle包装器具有多个规则。
我的默认系统范围的JDK设置为Open Java11。我想将其保留为最新的JDK。
如何覆盖单个项目的gradle包装器以使用特定的JDK?没有
答案 0 :(得分:2)
http://www.jenv.be/是一种专门用于解决此类问题的工具。
什么是jEnv?
jEnv是一个命令行工具,可帮助您忘记如何设置JAVA_HOME环境变量
可以
答案 1 :(得分:0)
在主目录中创建一个名为.gitignore_global
的文件(如果尚不存在)(似乎是在线上的通用名称)。
添加一个条目,使您可以忽略所有项目可能未使用的文件扩展名。
#ignore all privignores
*.privignore
运行以下命令,将全局忽略文件添加到排除的git config中。
git config --global core.excludesfile ~/.gitignore_global
现在,任何git repo中以.privignore结尾的文件都将被git忽略。
在您的路径上创建一个bash脚本,对我来说,用户脚本的相关文件夹是
~/.local/bin/
我将其命名为gradl
#!/bin/bash
file=jdk.privignore
if [ -f "$file" ]; then
export JAVA_HOME=`cat jdk.privignore`
fi
echo $JAVA_HOME
exec ./gradlew "$@"
此脚本将在调用JAVA_HOME
的任何地方将环境变量jdk.privignore
设置为gradl
的内容。如果文件存在,可以将其改进为仅执行操作。它还将通过所有参数传递到gradlew
chmod ~/.local/bin/gradl +x
将为gradl
脚本提供执行位,使其可以运行。
使用sudo update-alternatives --config java
查找其他可能安装的Java。
其中一个选项看起来像/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
,您需要从末尾将/jre/bin/java
放到JAVA_HOME
在gradle项目的根目录中,在gradlew
旁边的jdk.privignore
处创建文件
将其内容设置为:/usr/lib/jvm/java-8-openjdk-amd64
现在,当调用gradl时,将导出JAVA_HOME
。