[java] 빌드 및 컴파일 (Java)

이것에 대한 대답은 매우 분명하지만 여기에 있습니다.

학교 (자바)를위한 작은 프로젝트를 진행할컴파일 합니다.

내 차장에서 우리는 프로젝트 를 빌드 하기 위해 개미를 사용 하고 있습니다.

컴파일은 건물의 일부라고 생각합니다. 이 올바른지? 빌드와 컴파일의 차이점은 무엇입니까?

관련 :
컴파일 및 빌드의 차이점은 무엇입니까?



답변

“빌드”는 소프트웨어의 “제공 가능”을 작성하는 데 필요한 모든 단계를 포함하는 프로세스입니다. Java 세계에서는 일반적으로 다음이 포함됩니다.

  1. 소스 생성 (때로는).
  2. 소스 컴파일
  3. 테스트 소스 컴파일
  4. 테스트 실행 (단위 테스트, 통합 테스트 등)
  5. 포장 (병, 전쟁, ejb-jar, 귀에).
  6. 상태 점검 실행 (Checkstyle, Findbugs, PMD, 테스트 범위 등과 같은 정적 분석기)
  7. 보고서 생성

보시다시피, 컴파일은 빌드의 작은 부분 일뿐입니다 (그리고 가장 좋은 방법은 Maven 또는 Ant와 같은 도구를 사용하여 모든 단계를 완전히 자동화하고 Continuous Integration으로 알려진 빌드를 지속적으로 실행하는 것입니다 ).


답변

내가 볼 수있는 답변 중 일부는 맥락이 맞지 않으며 이것이 C / C ++ 질문이라면 더 의미가 있습니다.

짧은 버전 :

  • “컴파일”은 .java 파일을 .class 파일로 변환합니다
  • ‘빌딩’은 컴파일 및 기타 작업을 포함하는 일반적인 용어입니다.

“빌딩”은 컴파일을 포함하는 전체 프로세스를 나타내는 일반적인 용어 입니다. 예를 들어, 빌드 프로세스에는 Java 코드 또는 문서 파일을 생성하는 도구가 포함될 수 있습니다.

모든 .class 파일을 가져 와서 .jar에 넣는 “package”또는 .class 파일과 임시 디렉토리를 정리하는 “clean”과 같은 추가 단계가있을 수 있습니다.


답변

컴파일 은 소스 코드를 객체 코드로 변환하는 작업입니다.

링크 는 객체 코드와 라이브러리를 원시 실행 파일로 결합하는 작업입니다.

빌드 는 설치 및 생성과 같은 다른 작업과 함께 컴파일링크 로 구성된 시퀀스 입니다.

많은 컴파일러가 소스 코드를 컴파일 한 후 링크 단계를 자동으로 처리합니다 .

컴파일 코드와 실행 코드의 차이점은 무엇입니까?


답변

간단한 말로

컴파일은 Java 코드 (사람이 읽을 수있는)를 바이트 코드로 변환하므로 가상 머신이이를 이해합니다.

빌드는 컴파일 된 모든 부분을 모아서 실행 파일을 작성 (빌드)합니다.


답변

실제로 당신은 같은 일을하고 있습니다. Ant는 소프트웨어 컴파일과 관련된 광범위한 작업을 수행 할 수있는 XML 구성 파일을 기반으로하는 빌드 시스템입니다. 자바 코드를 컴파일하는 것은 그러한 작업 중 하나 일뿐입니다. 파일 복사, 서버 구성, zip 및 jar 조합, C와 같은 다른 언어 컴파일과 같은 다른 많은 것들이 있습니다.

소프트웨어를 컴파일하기 위해 Ant가 필요하지 않습니다. 학교에서하는 것처럼 수동으로 할 수 있습니다. Ant의 또 다른 대안은 Maven이라는 제품입니다. Ant와 Maven은 모두 똑같은 방식으로 작동하지만 상당히 다른 방식으로 수행됩니다.

자세한 내용은 AntMaven 을 검색 하십시오.


답변

  • 빌드 는 프로그램의 컴파일 된 버전입니다.
  • 컴파일 은 프로그램을 실행할 수있는 기계 코드 또는 하위 레벨 형식으로 변환 (프로그램)하는 것을 의미합니다.

Java에서 : 빌드는 수명주기에 명명 된 단계 시퀀스를 포함합니다.

예를 들어 : 빌드 수명주기가 3 개인 경우 다음은 default빌드 수명주기입니다.

validate - validate the project is correct and all necessary information is available
compile - compile the source code of the project
test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
package - take the compiled code and package it in its distributable format, such as a JAR.
integration-test - process and deploy the package if necessary into an environment where integration tests can be run
verify - run any checks to verify the package is valid and meets quality criteria
install - install the package into the local repository, for use as a dependency in other projects locally
deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.


답변

Eclipse 및 IntelliJ에서 빌드 프로세스는 다음 단계로 구성됩니다. 이전 패키지 정리, 유효성 검증, 컴파일, 테스트, 패키지,
통합, 확인, 설치, 배치.