이제 막 자바를 시작하여 JSP MVC Servlet를 끝내고 Maven으로 넘어왔습니다.
오늘 첫날이라 아무것도 몰라 그냥 온라인에 나와 있는 강좌를 그대로 따라하고 있습니다.
일단 apache-tomcat사이트에서 zip으로 압축된 maven을 다운로드받아 압축을 풀었구요.
bin디렉토리를 path에 등록했습니다.
그리고 도스창에서
"mvn archetype:generate"
이렇게 입력하고 엔터키를 치니
중간 중간에 뭐를 입력하라고 나오는건 강좌를 보면서 그대로 따라 하니 프로젝트가 생성되었습니다.
그 다음 생성된 프로젝트 루트폴더에 가서 pom.xml를 열고
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
이렇게 컴파일과 실행환경 버젼을 1.5에서 1.8로 바꿨구요.
그리고 컴파일을 하기 위해 "mvn clean install"를 입력하여 아래와 같이 아무 에러없이 실행되었습니다.
"mvn compile"라고 입력하면 컴파일 된다고 해서 그대로 따라 하니 에러없이 잘 된것 같습니다.
컴파일 된 다음에는 자동 생성된 샘플코드를 실행하기 위해 "mvn exec:java"를 입력하고 엔터키 치라고 해서 그대로 따라 했습니다.
그런데 강좌에서는 "Hellow world!"라는 문구가 나온다는데
전 아래와 같이 에러가 납니다.
몇번을 다시 해 보고 혹시 글자 하나 빠진게 있는지 다 뒤져봐도 강좌와 다른 것이 없는데
전 이렇게 실행이 안되고 에러가 나서 혹시 강좌가 잘못된거 아닌지 의심스럽기까지 합니다.
제가 뭘 잘못한건가요?
pom.xml에서 컴파일환경과 실행환경 버젼만 1.5에서 1.8로 고친것 이외에는 소스코드 일절 건드린거 없고,
그나마도 강좌에서 고치라 해서 고친건데요.
참고로 자동으로 생성된 main함수와 pom.xml은 아래와 같습니다.
package com.example.example01;
/**
* Hello world!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example.example01</groupId>
<artifactId>MvnExample01</artifactId>
<version>1.0-SNAPSHOT</version>
<name>MvnExample01</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>