Basic/Web

Maven 이란?

카고형 2020. 4. 28. 16:09
728x90
Maven 이란 

Maven은 지금까지 애플리케이션을 개발 하기 위해  반복적으로 진행해왔건 작업들을 지원 하기 위하여 등장한 도구 이다
빌드(build), 패키징, 문서화, git, 의존성 관리, 형상관리 서버와 연동, 배포등의 작업을 편하게 해줌

CoC란게 있는데 일종의 관습인데 예을 들어 프로그램의 소스파일은 어떤위치에 저장되고 컴파일된 파일은 어떤위치에
있는지 그런것들을 미리 정해 진것. 이라 생각함. Maven을 사용 한다는 것은 이런것 들을 알아가는 과정 인거 같다

Maven 기반 프로젝트을 생성 할 경우 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.tistory.cago-young</groupId>
  <artifactId>mymaven</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>mymaven 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>mymaven</finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        </plugins>
  </build>
</project>

<> 태그의 의미 ?
  • project : pom.xml 파일의 최상위 루트 엘리먼트(Root Element)이다
  • modelVersion : POM model의 버전
  • groupId : 프로젝트를 생성하는 조직의 고유 아이디를 결정함. 일반적으로는 도메인 이름을 거꾸로 한다
  • artifactld : 해당 프로젝트에 의하여 생성되는 artifact의 고유 아이디 를 결정하고 Maven을 이용해 pom.xml을 빌드 할 경우 artifact가 생성되는데  artifactid-version.packaging. 위 예의 경우 빌드할 경우 examples-1.0-SNAPSHOT.jar 파일이 생성됩니다.
  • name : 프로젝트 이름
  • version : 프로젝트의 현재 버전 
  • packaging : 해당 프로젝트을 어떤 형태로 packaging 할 것인지 결정 합니다. ex) jar, war, ear


 ^____^            @
|ㅒㅅㅒ|           @
|\\\\\\\\\\\\\\\|@
|/  |/           \| \|


728x90

'Basic > Web' 카테고리의 다른 글

[JScript] type  (0) 2022.06.24
[JScript] 출력 관련  (0) 2022.06.22
servlet 예제2 doget dopost  (0) 2020.02.21
Servlet 예제1  (0) 2020.02.18
JSP 동작순서 및 예제  (0) 2020.02.13