如何使用特定的OpenJDK版本Brew安装Ant



我正在尝试安装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,应该就是它了。

最新更新