pom.xml 작성하기

편집일시: 2020-05-14 12:29 조회수: 24 댓글수: 0
JPA
Maven 프로젝트 빌드에 대한 상세한 설정 등을 pom.xml이라는 파일에 작성한다. 프로젝트를 만들려면 이 pom.xml에 필요한 라이브러리 등의 정보를 작성하면 된다. 이번에는 Web 응용 프로그램에 필요한 라이브러리와 JPA 이용에 필요한 것을 준비하려고 한다. 어떤 것이 필요한지 정리해 보도록 하겠다. 우선, Web 어플리케이션 관련부터 설명하겠다. ## Web 응용 프로그램에 필요한 라이브러리 ``` <!-- jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency> ``` Web 응용 프로그램은 서블릿 컨테이너(이른바 Java 서버) 기능이 필요하다. 여기에서는 Jetty를 Web 응용 프로그램 내에서 사용하기 하였다. 이에 해당되는 라이브러리가 jetty-server와 jetty-webapp의 두 가지이다. 이 라이브러리를 포함하여 Web 응용 프로그램을 그대로 Jetty 서버에서 실행될 수 있게 한다. 또한 Jetty 등의 서블릿 컨테이너에는 Web 응용 프로그램의 기본 API (서블릿과 JSP를 위한 라이브러리)가 내장 되어 있어, 일부러 Web 응용 프로그램 작성을 위해 서블릿과 JSP를 위한 라이브러리를 별도 준비할 필요는 없다. ## Web 응용 프로그램에서 사용할 플러그인 ``` <!-- jetty plugin --> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> </plugin> ``` Jetty 서버 라이브러리를 제공하는 것만으로는 활용할 수 없다. 준비한 Jetty 서버를 사용하여 Web 응용 프로그램을 실행하는 기능도 제공하지 않으면 안된다. 이에 해당되는 플러그인이 jetty-maven-plugin이다. # 마무리 이번 프로젝트의 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.devkuma.jpa</groupId> <artifactId>JavaApp</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>JavaApp Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jetty.version>9.4.7.v20170914</jetty.version> </properties> <dependencies> <!-- jetty --> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency> <!--h2--> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.196</version> </dependency> <!-- eclipse.persistence--> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>javax.persistence</artifactId> <version>2.2.0</version> </dependency> <dependency> <groupId>org.eclipse.persistence</groupId> <artifactId>org.eclipse.persistence.jpa</artifactId> <version>2.7.0</version> </dependency> <!-- junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>JavaApp</finalName> <plugins> <!-- jetty plugin --> <plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>${jetty.version}</version> </plugin> </plugins> </build> </project> ```