Mac에서 Java로 프로그램을 컴파일하고 실행하려면 어떻게합니까?


99

Mac에서 Java로 프로그램을 컴파일하고 실행하려면 어떻게합니까?

나는 새롭다.

또한 상황과 관련이 있다면 여기에서 텍스트 랭글러라는 프로그램을 다운로드했습니다.

답변:


189

Mac OSX 또는 모든 주요 운영 체제에서 Java 응용 프로그램을 컴파일하고 실행하는 것은 매우 쉽습니다. Apple에는 OSX와 함께 즉시 사용 가능한 완전한 기능의 Java 런타임 및 개발 환경이 포함되어 있으므로 Java 프로그램을 작성하고 내장 도구를 사용하여 컴파일 및 실행하기 만하면됩니다.

첫 번째 프로그램 작성

첫 번째 단계는 간단한 Java 프로그램을 작성하는 것입니다. 텍스트 편집기를 열고 (내장 된 TextEdit 앱이 정상적으로 작동 함) 다음 코드를 입력하고 파일을 홈 디렉토리에 "HelloWorld.java"로 저장합니다.

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Hello World!");
    }
}

예를 들어 사용자 이름이 David 인 경우 "/Users/David/HelloWorld.java"로 저장합니다. 이 간단한 프로그램은라는 HelloWorld단일 메서드와 함께 라는 단일 클래스를 선언합니다 main. 이 main메서드는 Java에서 특별합니다. 프로그램 실행을 지시 할 때 Java 런타임이 호출을 시도하기 때문입니다. 프로그램의 시작점으로 생각하십시오. 이 System.out.println()메서드는 "Hello World!"라는 텍스트 줄을 화면에 인쇄합니다. 이 예에서.

컴파일러 사용

이제 간단한 Java 프로그램을 작성 했으므로 컴파일해야합니다. "Applications / Utilities / Terminal.app"에있는 터미널 앱을 실행합니다. 터미널에 다음 명령을 입력하십시오.

cd ~
javac HelloWorld.java

방금 OSX에서 첫 번째 Java 애플리케이션을 컴파일했습니다. 컴파일 과정에서 "HelloWorld.class"라는 단일 파일이 생성됩니다. 이 파일에는 Java Virtual Machine이 이해하는 지침 인 Java 바이트 코드가 포함되어 있습니다.

프로그램 실행

프로그램을 실행하려면 터미널에 다음 명령을 입력하십시오.

java HelloWorld

이 명령은 Java Virtual Machine을 시작하고라는 클래스를로드합니다 HelloWorld. 해당 클래스를로드하면 main앞서 언급 한 메서드 가 실행됩니다 . "Hello World!"가 표시되어야합니다. 터미널 창에 인쇄됩니다. 그게 전부입니다.

참고로 TextWrangler는 OSX 용 텍스트 편집기 일 뿐이며이 상황과 관련이 없습니다. 이 예제에서 텍스트 편집기로 사용할 수 있지만 반드시 필요한 것은 아닙니다.


이 일이 발생했습니다 : 마지막 로그인 : 월 3 월 1 일 23:41:53 on ttys000 david-allenders-macbook-pro : ~ davidallender $ cd ~ david-allenders-macbook-pro : ~ davidallender $ javac Helloworld.java 오류 : 읽을 수 없음 : Helloworld .java 1 error david-allenders-macbook-pro : ~ davidallender $ 내가 뭘 잘못 했니?
David

1
파일을 잘못된 디렉토리에 저장했거나 잘못된 파일 이름을 사용하여 저장 한 것 같습니다. 파인더의 홈 디렉토리에서 "HelloWorld.java"라는 파일을 확인하십시오. 여기서도 대소 문자 가 중요하므로 "Hello w orld.java"가 아닌 " HelloWorld.java" 라고합니다.
William Brendel

확인. 나는 당신의 지시를 더 잘 따랐고 모든 것이 잘되었습니다. 도와 주셔서 감사합니다. 정말 감사.
David

모든 프로그램이 Java .class 파일에 있습니까? 나는 이것을 본 적이 없다, OSX 또는 PC. 대부분의 사람들이 사용할 수 있도록 프로그램을 컴파일하는 다른 방법이 있습니까?
Steve

textEdit가 파일을 .rtf (서식있는 텍스트 형식)로 자동 저장하고 .java를 허용하지 않는 문제가있었습니다. 이것을 해결하는 방법은 textEdit do format> makePlainText에 있습니다.
Lewis Black

6

코드 작성 및 컴파일 단계를 알려 드리겠습니다. 이 예를 사용하십시오.

 public class Paycheck {
    public static void main(String args[]) {
        double amountInAccount;
        amountInAccount = 128.57;
        System.out.print("You earned $");
        System.out.print(amountInAccount);
        System.out.println(" at work today.");
    }
}
  1. 코드를 다른 이름으로 저장 Paycheck.java
  2. 터미널로 이동하여 입력 cd Desktop
  3. 유형 javac Paycheck.java
  4. 유형 java Paycheck
  5. 프로그램을 즐기십시오!

1
참고로 파일 상단에 패키지 이름이 있고 단일 Java 파일을 실행중인 경우 Error: Could not find or load main class <package name>. 이 예에서는 시작 부분에 두 개의 슬래시를 넣어 패키지를 주석 처리하십시오
kurdtpage

3

Eclipse를 다운로드하여 설치하면됩니다.
http://www.eclipse.org/downloads/

Apple은 자체 Java 버전을 제공하므로 최신 버전인지 확인하십시오.
http://developer.apple.com/java/download/


Eclipse는 통합 개발 환경 입니다. 많은 기능이 있지만이 단계에서 사용자와 관련된 기능은 다음과 같습니다.

  • 소스 코드 편집기
    • 구문 강조, 색상 및 기타 시각적 단서
    • 학습을 용이하게하기 위해 문서에 대한 쉬운 상호 참조
  • 컴파일러
    • 한 번의 클릭으로 코드 실행
    • 이동 중에 오류 / 실수 알림 받기

더 많은 경험을 쌓을수록 나머지 풍부한 기능 세트에 감사하기 시작할 것입니다.


7
@David From Dictionary, "하나의 천체와 관찰자 사이 또는 천체와 조명 원 사이에서 다른 천체의 빛을 가리는 것 : 태양의 일식". 그러나이 경우에는 JAVA 개발을위한 훌륭한 IDE입니다.
rptwsthi 2013

NetBeans를 대안으로 사용할 수도 있습니다.
kurdtpage

1

Mac과 호환되는 Java 버전이 컴퓨터에 있는지 확인해야합니다. 터미널에서 java -version을 수행하여 확인하십시오. 그렇지 않은 경우 애플 웹 사이트에서 애플 jdk를 다운로드하십시오. (Sun은 사과 자체를 위해 IIRC를 만들지 않습니다.)

거기에서 다른 플랫폼에서 Java에 사용하는 프로그램 컴파일과 동일한 명령 줄 지침을 따르십시오.


1
@rob, 나는 당신이 내가 얼마나 새로운 지 과소 평가한다고 생각합니다. 더 간단하게 설명해주세요.
David

0

다른 솔루션은 귀하의 질문에 답하기에 충분합니다. 그러나이를 수행하기 위해 하나의 명령 만 찾고 있다면-

Java 파일이있는 디렉토리에 파일 이름 "run"을 작성하십시오. 그리고 이것을 파일에 저장하십시오-

javac "$1.java"
if [ $? -eq 0 ]; then
  echo "--------Run output-------"
  java "$1"
fi

다음을 실행하여이 파일 실행 권한을 부여하십시오.

chmod 777 

이제 다음을 실행하여 파일을 실행할 수 있습니다.

./run <yourfilename> (don't add .java in filename)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.