2017-09-20 11 views
1

내 .java 파일을 저장하는 Java src 폴더가 있습니다. 그런 다음 터미널을 사용하여 컴파일하고 같은 디렉토리에 .class 파일을 가져옵니다. 이것은 반드시 나를 귀찮게하지는 않지만 전문적으로 수행되는 것을 본 적이 없습니다.일반적으로 Java .class 파일은 어디에 저장합니까?

전문적인 규칙 (있는 경우)이 프로젝트 디렉토리의 어떤 폴더에 컴파일 된 .class 파일을 저장해야합니까?

+0

일반적으로? "빈"또는 "빌드"를 누른 다음 컨테이너 - 항아리 또는 전쟁 또는 귀 파일. –

+2

언급하자면, 미안하지만, 나는 컴파일 후 바로 실행하는 것 이상의 .class 파일을 거의 필요로하지 않는 학생입니다. 필자는 전문 보관 파일에 보관할 것을 요구하지 않지만 일반적으로 보관되는 곳의 관습에 대해 궁금해했습니다. –

+0

Professionals, IDE 및/또는 Maven/Gradle과 같은 빌드 도구를 사용하여 다른 폴더에 배치합니다. –

답변

4

익숙하지 않은 경우 Java classpath 제목을 살펴보아야합니다. Java로 프로그래밍을 시작할 때 혼란 스러웠다는 사실을 기억할 수 있습니다.

Java에서 .class 파일에 대한 정의 된 검색 경로가 있습니다. 클래스 경로를 설정하는 java -cp blahblahblah을 실행할 때. java -jar blahblahblah.jarJAR file을 열며 .jar 파일의 매니페스트가 클래스 경로를 지정할 수 있습니다. 기본 클래스 경로는 현재 디렉토리에 있습니다.

보통 Java 클래스를 파일 시스템의 계층 적 디렉토리 구조로 패키지에 넣습니다.이 경우 Java 컴파일러는 .class 파일을 해당 구조에 넣습니다.

명령 줄에서 javac을 실행하면 -d argument.class 파일의 대상 루트 디렉터리를 지정합니다.

전형적인 프로젝트는 패키지를 가정 할 com.example.foo라고하고 Foo.java 및 Bar.java이 포함되며, 다음과 같습니다

자바 컴파일러는 대상 디렉토리로 -d bin으로 실행하고됩니다
project_dir/ 
    src/ 
     com/ 
     example/ 
      foo/ 
       Foo.java 
       Bar.java 
    bin/ 
     com/ 
     example 
      foo/ 
       Foo.class 
       Bar.class 

.java 파일에 해당하는 .class 개의 파일을 만듭니다. 그러나 목적지는 bin이라고 할 필요는 없습니다. 원할 경우 Freddy 또는 dumbass으로 전화 할 수 있습니다. 단, 이는 익숙하지 않은 사람이 bin 또는 build 일 때 혼동을 일으킬 수 있습니다.

대부분의 경우 Java 프로그램이나 라이브러리가 빌드 될 때 .class 파일은 .jar 파일을 빌드하기위한 임시 단계 일 뿐이며 (.co.kr 파일을 포함하는 .jar 확장자를 가진 .zip 형식) 메타 데이터 비트), 실제로 실행하면 클래스 경로의 일부로 포함 시키면 .jar 파일이 사용됩니다.

+0

이것은 매우 도움이되었습니다. 감사합니다. –