English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Maven 웹 애플리케이션

이 장에서는 Maven 버전 관리 시스템을 사용하여 웹 기반 프로젝트를 관리하는 방법, 웹 애플리케이션을 생성, 빌드, 배포 및 실행하는 방법을 배울 것입니다.

Web 애플리케이션을 생성합니다

maven을 사용하여-archetype-webapp 플러그인을 사용하여 간단한 Java web 애플리케이션을 생성합니다.

명령 프롬프트를 엽니다. C:\MVN 폴더로 이동한 후 다음 mvn 명령어를 실행합니다:

C:\MVN>mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=false

완료되면 Maven이 시작되고 Java Web 프로젝트의 전체 디렉토리 구조를 생성합니다.

[INFO] Scanning for projects...
[INFO] 레포지토리에서 'archetype' 접두사로 시작하는 플러그인을 검색
[INFO] -------------------------------------------------------------------
[INFO] Maven Default 프로젝트 구축
[INFO]    task-segment: [archetype:generate] (aggregator-style)
[INFO] -------------------------------------------------------------------
[INFO] 아키텍처:generate 준비
[INFO] 프로젝트에 대한 목표가 필요하지 않음 - skipping
[INFO] [archetype:generate {execution: default-cli}]
[INFO] 배치 모드로 프로젝트 생성
[INFO] --------------------------------------------------------------------
[INFO] 프로젝트 생성을 위해 다음 매개변수 사용 
from Old (1.x) 아키텍처: maven-archetype-webapp:1.0
[INFO] --------------------------------------------------------------------
[INFO] 매개변수: groupId, 값: com.companyname.automobile
[INFO] 매개변수: packageName, 값: com.companyname.automobile
[INFO] 매개변수: package, 값: com.companyname.automobile
[INFO] 매개변수: artifactId, 값: trucks
[INFO] Parameter: basedir, Value: C:\MVN
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] project created from Old (1.x) Archetype in dir: C:\MVN\trucks
[INFO] -------------------------------------------------------------------
[INFO] 빌드 성공
[INFO] -------------------------------------------------------------------
[INFO] 총 시간: 16 초
[INFO] 완료 시간: Tue Jul 17 11:00:00 IST 2012
[INFO] 최종 메모리: 20M/89M
[INFO] -------------------------------------------------------------------

执行完后,我们可以在  C:/MVN 文件夹下看到 trucks 项目,查看项目的目录结构:

Maven 目录结构是标准的,各个目录作用如下表所示:

文件夹结构描述
trucks包含 src 文件夹和 pom.xml 文件。
src/main/webapp包含 index.jsp 文件和 WEB-INF 文件夹.
src/main/webapp/WEB-INF包含 web.xml 文件
src/main/resources包含图片、properties资源文件。

pom.xml 文件代码如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/maven-v4_0_0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>com.companyname.automobile</groupId>
   <artifactId>trucks</artifactId>
   <packaging>war</packaging>
   <version>1.0-SNAPSHOT</version>
   <name>trucks Maven Webapp</name>
   <url>http://maven.apache.org</url>
   <dependencies>
      <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
         <version>3.8.1</version>
         <scope>test</scope>
      </dependency>
   </dependencies>
   <build>
      <finalName>trucks</finalName>
   </build>
</project>

다음으로 C:\ > MVN > trucks > src > main > webapp > 디렉토리를 열고, 이미 생성된 index.jsp 파일을 볼 수 있습니다. 코드는 다음과 같습니다.:

<html>
   <body>
      <h2>Hello World!</h2>
   </body>
</html>

构建 Web 应用

打开命令控制台,进入 C:\MVN\trucks 目录,然后执行下面的以下 mvn 命令:

C:\MVN\trucks>mvn clean package

Maven 将开始构建项目:

[INFO] Scanning for projects...
[INFO] -------------------------------------------------------------------
[INFO] Building trucks Maven Webapp
[INFO]    task-segment: [clean, package]
[INFO] -------------------------------------------------------------------
[INFO] [clean:clean {execution: default}-clean}]
[INFO] [resources:resources {execution: default}-resources}]
[WARNING] Using platform encoding (Cp1252 actually) to 
copy filtered resources,i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] [compiler:compile {execution: default}-compile}]
[INFO] No sources to compile
[INFO] [resources:testResources {execution: default}-testResources}]
[WARNING] Using platform encoding (Cp1252 actually) to 
copy filtered resources,i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory 
C:\MVN\trucks\src\test\resources
[INFO] [compiler:testCompile {execution: default}-testCompile}]
[INFO] No sources to compile
[INFO] [surefire:test {execution: default}-test}]
[INFO] 실행할 테스트가 없습니다.
[INFO] [war:war {execution: default-war}]
[INFO] 웹 애플리케이션 패키징
[INFO] 웹 애플리케이션 조립[trucks]을 [C:\MVN\trucks\target\trucks]에 조립
[INFO] war 프로젝트 처리
[INFO] 웹 애플리케이션 자원 복사[C:\MVN\trucks\src\main\webapp]
[INFO] 웹 애플리케이션 조립: [77 msecs]
[INFO] war 빌드: C:\MVN\trucks\target\trucks.war
[INFO] -------------------------------------------------------------------
[INFO] 빌드 성공
[INFO] -------------------------------------------------------------------
[INFO] 총 시간: 3 초
[INFO] 완료 시간: Tue Jul 17 11:22:45 IST 2012
[INFO] 최종 메모리: 11M/85M
[INFO] -------------------------------------------------------------------

웹 애플리케이션 배포

C:\ < MVN < trucks < target < 폴더를 열고 trucks.war 파일을 찾아서 복사하여 웹 서버의 웹 애플리케이션 디렉토리에 배치한 후 웹 서버를 재시작하세요.

웹 애플리케이션 테스트

다음 URL을 방문하여 웹 애플리케이션을 실행하세요:

http://:/trucks/index.jsp

검증 결과: