如何使用特定的OpenJDK版本酿造ANT?

发布于 2025-01-20 17:40:15 字数 600 浏览 3 评论 0原文

我正在尝试安装 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

但还没有幸运的是配置正确。任何帮助表示赞赏!

I'm trying to install Ant such that it is built with OpenJDK@11 instead of the latest OpenJDK?
brew install ant installs it with OpenJDK@18 currently. I'm using ant to build OpenCV with Java from source, and I need it to be built with Java 11.

I've run brew edit ant and tried to configure the following:

  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

But haven't had luck with getting the config right. Any help is appreciated!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丢了幸福的猪 2025-01-27 17:40:15

This is the diff that you need (basically replace openjdk with 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

After brew edit ant, and then brew install -s ant,应该就是这样。

This is the diff that you need (basically replace openjdk with 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

After brew edit ant, and then brew install -s ant, that should be it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文