반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[Spring] Apache Maven 설치 및 환경설정 (pom.xml) 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/Spring

[Spring] Apache Maven 설치 및 환경설정 (pom.xml)

yeonee 여니 2023. 8. 1. 18:26
728x90
반응형
SMALL

안녕하세요.
https://blog.naver.com/sysysy0302 여니입니다 :)

 

yeonee 블로그 : 네이버 블로그

예쁘고 맛있게 먹고 건강하게,강인하지만 온화하게 행하라. ※맛스타운스타일상 인스타 www.instagram.com/s2._.y25n ※맛집감성일상 유튜브https://youtube.com/channel/@S2_yeonee 티스토리https://yeoneeluv.tistory.co

blog.naver.com

 

 

* Apache Maven 설치 및 환경설정

Apache Maven 홈페이지에 들어갑니다.

 

나에게 알맞는 파일을 다운로드 해줍니다.

 

c드라이브로 압축해체한 아파치 메이븐 폴더를 이동시켜 준 뒤, repository 폴더를 새로 만들어 줍니다.
아파치 폴더의 안으로 이동했을때 conf 폴더가 보입니다.

 

그러면 conf 폴더 안의 settings를 확인할 수 있습니다.

 

되도록 VsCode로 settings파일을 열어줍니다.

 

localRepository부분을 alt + 화살표 아래키 를 눌러 <-- --> 주석 밖으로 이동시켜줍니다.

 

아까 만든 폴더명을 해당 위치에 적어주거나,

repository 폴더의 위치로 이동하여 주소를 복사하여 붙여넣기 하여도 됩니다.

 

https://github.com/spring-attic/toolsuite-distribution/wiki/Spring-Tool-Suite-3

그 다음 해당 링크의깃허브 공식 사이트로 이동해줍니다.

 

나에게 알맞는 버전을 찾아 다운로드 해줍니다. 
저는 3.9.14버전을 다운로드했어요.

 

이클립스와 같은 원리로 폴더에 다른 파일들이 함께 있어야 작동하기 때문에 폴더내에서 STS 바로가기를 만들어서 바탕화면으로 바로가기 아이콘을 옮겨서 사용하시면 됩니다.

 

혹은 STS를 실행시켜 하단에 뜨는 STS로고를 마우스 우클릭하여 작업 표시줄에 고정시켜 주면 편합니다.

 

상단 메뉴탭중 window - preferences 를 눌러 창을 켜줍니다. 그리고 Maven - User Settings 메뉴를 눌러 User Settings 주소를 Brows를 눌러 내가 설치한 아파치 메이븐의 settings파일을 선택한 후 결기를 눌러 줍니다.

 

그러면 중간의 주소창 내용이 내가 선택한 settings.xml 폴더의 경로로 변경되었습니다.
바로 아래의 주소창 경로도 자동으로 변경되어 보여집니다.

 

왼쪽의 Server의 알림글을 클릭하여 새로운 서버를 등록해줍니다.
XML - XML Catalog 메뉴를 선택하여 가장 상단의 'User Specified Entries'를 선택한 상태에서 Add 버튼을 눌러줍니다.
Location 주소를 다음과 같이 입력하면 상단 선택하였던 'User Specified Entries'아래에 내가 입력한 내용이 보여집니다.

 

다시 한 번 'User Specified Entries'를 선택한 상태로 Add버튼을 눌러 준 뒤,
위와 같은 방법으로 아래의 Key 입력창에 다음과 같이 입력한 후, OK를 눌러주면 또 내가 입력한 내용을 볼 수 있습니다.

그리고 이클립스와 같은 방식으로 아파치 톰캣 9.0 버전을 등록해줍니다.

 

내가 만든 Project name과 입력할 Project name이 일치해야하며, Templates에서 'Spring MVC Project' 를 클릭한 후 Next버튼을 눌러줍니다.

 

내가 spring을 만들어 넣은 위치가 일치하도록 적어 넣고 Finish를 눌러 완료해줍니다.

 

progress가 모두 완료되면 pom.xml 환경설정 후, 톰캣 서버를 실행하며 사용해주시면 됩니다.

 

그리고 pom.xml파일에서 사용할 환경설정을 적어주면 됩니다.

 

<spring.pom.xml 영역>

<?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 https://maven.apache.org/maven-v4_0_0.xsd">
	<!-- 
		pom.xml의 구조 -
		groupId : 2번째레벨까지의 패키지 구조.
		artifactId : 3번째 레벨의 패키지명(프로젝트명)
		packaging : 배포할때의 압축 형식
	-->
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.kh</groupId>
	<artifactId>spring</artifactId>
	<name>spring</name>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	
	<!--  
		properties : 
		이 문서에서 사용할 환경설정 내용들을 담은 변수 (태그명이 변수명)
		현재 문서내에서 ${변수명}으로 해당값을 불러올수 있다.
	-->
	
	<properties>
		<java-version>11</java-version>
		<org.springframework-version>5.3.20</org.springframework-version>
		<org.aspectj-version>1.9.4</org.aspectj-version>
		<org.slf4j-version>1.6.6</org.slf4j-version>
	</properties>

	<!-- 
		repositories : 기본저장소(메이븐 레파지토리)에서 다운받지 못하는 의존성(jar파일)이 존재하는 경우 대신 다운받고자 하는 저장소를 등록
		- id : 저장소 이름
		- url : 저장소 경로
	 -->
	<repositories>
		<repository>
			<id>Datanucleus</id>
			<url>https://www.datanucleus.org/downloads/maven2/</url>
		</repository>
	</repositories>

	<!-- 
		dependencies : 프로젝트에서 사용할 라이브러리들을 담는곳
	 -->
	
	<dependencies>
		<!-- Spring -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
			<exclusions>
				<!-- Exclude Commons Logging in favor of SLF4j -->
				<exclusion>
					<groupId>commons-logging</groupId>
					<artifactId>commons-logging</artifactId>
				 </exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
				
		<!-- AspectJ -->
		<dependency>
			<groupId>org.aspectj</groupId>
			<artifactId>aspectjrt</artifactId>
			<version>${org.aspectj-version}</version>
		</dependency>	
		
		<!-- Logging -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>${org.slf4j-version}</version>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>jcl-over-slf4j</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>${org.slf4j-version}</version>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.15</version>
			<exclusions>
				<exclusion>
					<groupId>javax.mail</groupId>
					<artifactId>mail</artifactId>
				</exclusion>
				<exclusion>
					<groupId>javax.jms</groupId>
					<artifactId>jms</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jdmk</groupId>
					<artifactId>jmxtools</artifactId>
				</exclusion>
				<exclusion>
					<groupId>com.sun.jmx</groupId>
					<artifactId>jmxri</artifactId>
				</exclusion>
			</exclusions>
			<scope>runtime</scope>
		</dependency>

		<!-- @Inject -->
		<dependency>
			<groupId>javax.inject</groupId>
			<artifactId>javax.inject</artifactId>
			<version>1</version>
		</dependency>
				
		<!-- Servlet -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>servlet-api</artifactId>
			<version>2.5</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet.jsp</groupId>
			<artifactId>jsp-api</artifactId>
			<version>2.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.2</version>
		</dependency>
	
		<!-- Test -->
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.7</version>
			<scope>test</scope>
		</dependency>      
		
		<!-- 추가적으로 필요한 라이브러리 -->
		<!-- 1. DB관련 라이브러리 추가. -->
		<!-- 1) OJDBC6 --> 
		<dependency>
			<groupId>com.oracle.database.jdbc</groupId>
			<artifactId>ojdbc6</artifactId>
			<version>11.2.0.4</version>
		</dependency>
		 
		<!-- 2) mybatis 라이브러리 -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.10</version>
		</dependency>
		  
		<!-- 3) 스프링에서 JDBC 및 mybatis를 사용하기 위한 라이브러리 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-jdbc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis-spring</artifactId>
			<version>2.0.7</version>
		</dependency>
		
		<!-- 4) 커넥션 풀 라이브러리 -->
		<dependency>
			<groupId>commons-dbcp</groupId>
			<artifactId>commons-dbcp</artifactId>
			<version>1.4</version>
		</dependency>
		<!-- DB관련 라이브러리 끝 -->
		<!-- ;사실 5개의 라이브러리가 필요함. 디펜던시스에 우리가 추가한 코드의 파일들이 생성됨 -->
		<!-- 롬복 라이브러리 -->
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<version>1.18.24</version>
			<scope>provided</scope>
		</dependency>
		
		  
	</dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <additionalProjectnatures>
                        <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
                    </additionalProjectnatures>
                    <additionalBuildcommands>
                        <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
                    </additionalBuildcommands>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.5.1</version>
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                    <compilerArgument>-Xlint:all</compilerArgument>
                    <showWarnings>true</showWarnings>
                    <showDeprecation>true</showDeprecation>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <configuration>
                    <mainClass>org.test.int1.Main</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
728x90
반응형
LIST