我正在尝试安装Ant,以便使用OpenJDK@11而不是最新的OpenJDK?brew install ant
安装OpenJDK@18目前。我正在使用ant从源代码使用Java构建OpenCV,我需要使用Java 11构建它。
我已经运行了brew edit ant
,并尝试配置以下内容:
def install
rm Dir["bin/*.{bat,cmd,dll,exe}"]
libexec.install Dir["*"]
bin.install_symlink Dir["#{libexec}/bin/*"]
rm bin/"ant"
(bin/"ant").write <<~EOS
#!/bin/bash
JAVA_HOME="${JAVA_HOME:-#{Formula["openjdk"].opt_prefix}}" exec "#{libexec}/bin/ant" -lib #{HOMEBREW_PREFIX}/share/ant "$@"
EOS
但我没能把配置做好。感谢您的帮助!
这是您需要的差异(基本上将openjdk
替换为openjdk@11
(:
diff --git a/Formula/ant.rb b/Formula/ant.rb
index 8c2aba387a7..6096a78ac65 100644
--- a/Formula/ant.rb
+++ b/Formula/ant.rb
@@ -11,7 +11,7 @@ class Ant < Formula
sha256 cellar: :any_skip_relocation, all: "65361546d11f6cd675bc64aae75cd14dc3e77e7ed466b45e871bd09780df23f1"
end
- depends_on "openjdk"
+ depends_on "openjdk@11"
resource "ivy" do
url "https://www.apache.org/dyn/closer.lua?path=ant/ivy/2.5.0/apache-ivy-2.5.0-bin.tar.gz"
@@ -32,7 +32,7 @@ class Ant < Formula
rm bin/"ant"
(bin/"ant").write <<~EOS
#!/bin/bash
- JAVA_HOME="${JAVA_HOME:-#{Formula["openjdk"].opt_prefix}}" exec "#{libexec}/bin/ant" -lib #{HOMEBREW_PREFIX}/share/ant "$@"
+ JAVA_HOME="${JAVA_HOME:-#{Formula["openjdk@11"].opt_prefix}}" exec "#{libexec}/bin/ant" -lib #{HOMEBREW_PREFIX}/share/ant "$@"
EOS
在brew edit ant
之后,然后是brew install -s ant
,应该就是它了。