원형 소개

원형을 기반으로 IDEA에서 Maven 프로젝트를 만드는 또 다른 방법이 있습니다.

IDEA의 Maven 프로젝트

여기서는 기존 원형 중 하나를 기반으로 프로젝트를 만드는 것이 제안됩니다 . 이 원형은 무엇이며 왜 필요한가요?

Maven에는 표준화된 프로젝트 템플릿이 있습니다. 이러한 템플릿을 아키타입이라고 합니다. src , java , 테스트 폴더 등 프로젝트의 시작 구조를 기억하십니까 ? 따라서 이 폴더 구조는 원형을 사용하여 설정됩니다.

공식 Maven 웹 사이트 에 샘플 템플릿이 있습니다 . 그들의 도움으로 간단한 응용 프로그램, 플러그인, 웹 사이트와 같은 다양한 시작 프로젝트를 생성할 수 있습니다.

사용 가능한 원형 목록은 콘솔에서 다음 명령을 실행하여 얻을 수 있습니다. mvn archetype:generate

인기 있는 원형

가장 인기 있는 원형은 다음과 같습니다.

  • maven-archetype-quickstart ;
  • maven-archetype- 사이트
  • maven-archetype-webapp ;
  • maven-archetype-j2ee-simple ;
  • jpa-maven-archetype ;
  • spring-mvc-quickstart .

빈 Java 프로젝트를 생성하려면 maven-archetype-quickstart archetype 을 사용하십시오 . 지난 강의에서 IDEA로 프로젝트를 만들 때 보았던 그의 작업 결과물이었습니다.

웹 서버 내에서 실행되는 웹 애플리케이션을 생성하고 HTML 페이지 등을 표시하려면 maven -archetype-webapp 아키타입을 기반으로 안전하게 사용할 수 있습니다 .

maven-archetype-site 원형을 사용하여 사이트를 만들 수 있습니다 . 또는 매우 간단한 사이트가 예상되는 경우 maven-archetype-site-simple 원형도 가능합니다. 다른 옵션을 시도하고 가장 마음에 드는 옵션을 확인하십시오.

Hibernate 또는 JPA로 작업하려면 jpa-maven-archetype archetype 을 사용할 수 있습니다 .

그리고 마지막으로 Spring 작업을 위한 특별한 원형인 spring-mvc-quickstart 도 있습니다 . 초보자들에게 매우 유용할 것입니다. 후자에 대한 더 유사한 정보는 여기 링크에서 찾을 수 있습니다 .

원형이 좋은 이유는 무엇입니까? 그들은 처음부터 프로젝트를 작성하려고 합니다. 더 이상 Java로만 프로젝트를 작성하는 사람은 없습니다. 최신 프로젝트는 기술 스택에 작성됩니다. 5-10개의 프레임워크 목록과 수십 개의 라이브러리가 최신 "내가 작성하는 언어"입니다.

Maven의 웹 애플리케이션

이와는 별도로 maven-archetype-webapp archetype 에 대해 살펴보겠습니다 .

이것은 Java로 작성된 고전적인 웹 애플리케이션입니다. 그리고 Spring의 인기 이후 약간 구식이지만 초보자인 당신은 매우 유용하다는 것을 알게 될 것입니다. 이 원형에 대해 무엇을 알아야 합니까?

이를 통해 간단한 웹 애플리케이션을 빌드할 수 있습니다 . 빌드 결과는 .war 파일이 됩니다 . 웹 애플리케이션이 Tomcat에 즉시 추가되도록 Deploy를 구성할 수 있습니다. 마지막으로 기본 서블릿과 JSP를 실험해 볼 수 있습니다.

이 원형을 기반으로 프로젝트를 생성하면 다음과 같은 폴더 구조를 얻게 됩니다.

IDEA 2의 Maven 프로젝트

다음은 몇 가지 흥미로운 사항입니다.

  • 웹앱 폴더;
  • WEB-INF 폴더;
  • web.xml 파일;
  • index.jsp

첫째, 웹 응용 프로그램의 모든 리소스가 저장되는 webapp 폴더 (웹 응용 프로그램에서)가 있습니다 .

둘째, web.xml 파일은 웹 응용 프로그램 배포 설명자 입니다 . 웹 응용 프로그램이 웹 서버 및 해당 클라이언트와 상호 작용하는 방법을 설명합니다.

세 번째로 index.jsp 파일이 있습니다 . 이것은 상당히 단순한 형태의 서블릿입니다. 작동 중이며 첫 번째 JSP 서블릿을 변경하여 실험해 볼 수 있습니다.

서블릿 및 웹 애플리케이션 전용 주제에서 이 모든 것에 대해 자세히 설명합니다.