Ant를 설치하면 Java 설치를 덮어씁니다.

Ant를 설치하면 Java 설치를 덮어씁니다.

Java를 설치한 후 ANT를 설치하려고 합니다. 내 Java는 Sun Java에서 왔습니다.

pc19@pc19-H110:~$  java -version
java version "20.0.2" 2023-07-18
Java(TM) SE Runtime Environment (build 20.0.2+9-78)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.2+9-78, mixed mode, sharing)

pc19@-H110:~$ echo $JAVA_HOME
/usr/lib/jvm/jdk-20/bin/java

pc19@pc19-H110:~$ whereis java
java: /usr/bin/java /usr/share/java /usr/lib/jvm/jdk-20/bin/java

pc19@-H110:~$ sudo apt-get install ant

pc19@-H110:~$ java -version
openjdk version "11.0.20.1" 2023-08-24
OpenJDK Runtime Environment (build 11.0.20.1+1-post-Ubuntu-0ubuntu120.04)
OpenJDK 64-Bit Server VM (build 11.0.20.1+1-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)

ANT 설치를 사용하면 sudo apt get install antSun Java 설치와 OpenJdk 설치를 덮어씁니다. 누구든지 해결 방법을 알고 있습니까?

Ant 설치에 Java가 포함되는 이유는 무엇입니까? 어떻게 막을 수 있나요?

답변1

패키지 관리자는 Oracle Java 설치를 인식하지 못합니다. 이 ant패키지에는 JRE가 필요하며 또는 default-jre-headless패키지 에 따라 다릅니다 java8-runtime-headless. 따라서 ant설치 중에 Ubuntu 20.04의 OpenJDK 11인 기본 JRE가 설치됩니다( apt install ant이 내용은 나중에 설명하겠습니다). JRE 패키지가 재구성되고 디렉토리 /usr/bin/java앞에 위치하므로 JRE 대신 시스템 JRE가 실행됩니다.jdk-20/binjava

OpenJDK 11 설치를 방지하려면 가상 패키지를 생성하여 헤드리스 JRE가 설치되었음을 시스템에 알릴 수 있습니다 default-jre-headless.설치된 패키지의 구현되지 않은 종속성을 무시하도록 만드는 방법은 무엇입니까?자세한 내용은 gstreamer0.10-plugins-good로 바꾸십시오 default-jre-headless.

관련 정보