javac : 명령을 찾을 수 없습니다.


111

명령을 사용하여 CentOS 릴리스 5.5 시스템에 Java를 설치했습니다 yum install java. 하지만 javac를 사용하여 클래스를 컴파일 할 수 없습니다.

다른 패키지를 설치해야합니까?

javac실행 파일 을 찾으려고했지만 찾을 수 없습니다.

/usr/bin/java다음과 같이 연결됩니다
/usr/bin/java.-> /etc/alternatives/java
/etc/alternatives/java->/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java

나는 다음과 같은 출력을 보았다 yum list installed |grep java.

java-1.6.0-openjdk.x86_64              1:1.6.0.0-1.16.b17.el5          installed
tzdata-java.x86_64                     2011b-1.el5                     installed

3
당신의 솔루션을 사용하는 것 같습니다 yuminstall java-1.6.0-openjdk-devel.x86_64
Vihung

답변:


125

포함하지 않는javac JRE (Java Runtime Environment) 만 설치했습니다 . 의 경우 OpenJDK 개발 환경javac 을 설치해야합니다 . 당신은 설치 또는 모두 포함하는 .java-develjava-1.6.0-openjdk-develjavac

그런데 : 당신이 제공하는 패키지를 찾을 수 있습니다 javac로모그래퍼 yum검색 , 예를 들어,

su -c 'yum provides javac'

CentOS의 최신 릴리스 (예 : 6)에서는 명령이 다음과 같이 변경됩니다.

su -c 'yum provides */javac'

또 다른 참고 : yum및 사용 openjdk은 JDK를 설치할 수있는 유일한 방법입니다. 많은 사람들이 Sun / Oracle의 "원본"SDK를 선호합니다. CentOS에 Java SDK를 설치하는 방법을 참조하십시오 . 및 대안에 대한 링크.


그래 확실해. 그냥 보면 자바-1.6.0-openjdk.x86_64 패키지 정보 ( "파일"섹션으로 스크롤) 더 있다는 것을 볼 javac해당 패키지에. 그런 다음 OpenJDK 개발 환경 패키지 를 살펴보십시오 .
도끼.

11
도와 주셔서 감사합니다 .. "yum install java-1.6.0-openjdk-devel.x86_64"를 사용했습니다
Bikash Barman

6
Fedora 20 yum provides javac에서는 "일치하는 항목 없음"을 출력합니다.
Perseids

1
하지만 그는 'openjdk'를 설치 했죠? JDK는 자바 개발 키트 의미
면도칼

177

이 명령으로 나를 위해 일했습니다.

yum install java-devel

2
그러나 그것은 구식 JDK 6을 설치합니다. 왜 JDK 8을 설치하지 않습니까? "yum install java"는 JRE 8을 설치합니다.
jamshid

"yum list"의 출력을 grep하여 원하는 Java 버전을 찾은 다음 "yum install <package>"를 수행 할 수 있습니다. 저에게는 "yum install java-1.7.0-openjdk-devel.x86_64"
Tom Barron

12
java8 사용sudo yum install java-1.8.0-openjdk-devel
raghavsood33

1
이것이 답이되어야합니다.
nikk

다른 자바 설치 횟수 내가이 위로 발견 할 때까지 javac의 2 시간을 낭비 제공하는 힘
비벡 ashodha

28

다음 sudo 명령을 사용하십시오.

sudo yum install java-1.6.0-openjdk-devel

2

yum install java실제로 무엇 을 설치 할지 정확히 모르겠습니다 . 그러나 javac 존재를 확인하려면 다음을 수행하십시오.

> updatedb
> locate javac

바람직하게는 루트로. 여기에 없으면 JDK (Java Development Kit)가 아닌 JRE (Java Runtime) 만 설치했을 것입니다. Oracle 사이트 에서 얻는 것이 가장 좋습니다 . Linux 리포지토리가 최신 버전보다 약간 뒤처지고 Oracle / Sun이 아닌 open-jdk 만 제공하는 것 같습니다. .


1

javac가 PATH의 일부인 디렉토리에서 실행 가능합니까?

Windows 경로에 해당하는 CentOS를 모르지만 java sdk 디렉토리로 이동하여 ./javac를 실행하면 어떤 일이 발생합니까?


내 문제는 javac의 실행 파일이 기본적으로 존재하는 곳이다
Bikash 바텐더

centos에 find 명령이 없습니까? @ 리차드에 의해 제안
BenCr

죄송합니다. BenCr, 오타 (javajc => javac)를 수정했지만 시스템은 최소 6 자만 수정할 수 있으므로 더 변경했습니다. Unix 유형 시스템에서 (CentOS는 일종의 Unix입니까?) 현재 디렉토리에서 무언가를 시작하려면 ./를 지정해야합니다. 내 수정 사항이 승인되면 언제든지 다시 수정하세요.
사용자 알 수없는

오답을 받아들였습니까? 그렇다면 독자를 혼동하지 않도록 올바른 것으로 변경하십시오.
도끼.

0

JRE (Java Runtime Environment)를 설치했지만 javac가 포함되어 있지 않습니다.

따라서 터미널에서 루트 사용자에게 액세스 sudo -i하고 암호를 입력하십시오. 를 입력 yum install java-devel하면 페도라에 javac 패키지가 설치됩니다.



0

Fedora를 사용합니다 (현재 31).

JDK가 설치되어 있어도 .bashrc에 JAVAC_HOME을 지정해야합니다. 특히 sudo 대안을 사용하는 4 개의 Java 버전이 있기 때문에 --configure java to switch between them.

대안에서 선택한 Java의 Java 위치를 찾으려면

readlink -f $ (어떤 자바)

제 경우 : /usr/java/jdk1.8.0_241-amd64/jre/bin/java

그래서 .bashrc에서 다음과 같이 설정했습니다.

export JAVA_HOME = / usr / java / jdk1.8.0_241-amd64 / jre / bin / java

내보내기 JAVAC_HOME = / usr / java / jdk1.8.0_241-amd64 / bin / javac

내보내기 PATH = $ PATH : /usr/java/jdk1.8.0_241-amd64/jre/bin

내보내기 PATH = $ PATH : /usr/java/jdk1.8.0_241-amd64/bin/

이제 javac –version은 다음을 제공합니다. javac 1.8.0_241

이것은 Oracle 버전을 사용하려는 사람들에게 유용합니다. Java 대안으로 변경 한 경우 .bashrc를 다시 변경하는 것을 잊지 마십시오.


0

리눅스 민트 19.3

다음과 같이 Java Oracle을 수동으로 설치했습니다.

$ sudo ln -s /usr/lib/jvm/java-1.8.0_211/bin/javac /usr/bin/javac


-2

먼저 JDK / JRE를 설치해야합니다.

다음과 같이하세요:

터미널을 열고 입력하여 루트 사전으로 이동하십시오.

cd /

라이브러리 폴더가 표시됩니다.

이제이 길을 따라 Library/Java/JVM/bin

들어가면 파일을 bin볼 수 있습니다.javac

이제이 명령을 작성하기 위해이 폴더의 경로를 가져와야합니다.

pwd

귀하의 javac.


1
OP 이름의 운영 체제는 CentOS입니다.
Newb
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.