본문 바로가기
Spring

Spring Legacy pom.xml 초기설정

by Coarti 2024. 6. 3.

Spring Boot 프로젝트 생성시 제공해주는 라이브러리를 참고하여 작성했다

 

항목 버전
Spring Framework 5.3.36
WAS Tomcat 9
Servlet 4.0.1
Java 11

 

Spring Framework 6 버전은 Java 17부터 사용한다

<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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>simpleSpring</groupId>
	<artifactId>simpleSpring</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>war</packaging>
	<properties>
		<java-version>11</java-version>
		<org.springframework-version>5.3.36</org.springframework-version>
	</properties>
	
	<build>
		<plugins>
			<plugin>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.8.1</version>
				<configuration>
					<release>${java-version}</release>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-war-plugin</artifactId>
				<version>3.2.3</version>
                <!-- option, can remove it STRAT -->
                <!-- when you use java configuration -->
				<configuration> 
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
                <!-- option, can remove it END -->
			</plugin>
		</plugins>
	</build>

	<dependencies>
	<!-- Necessary -->
	
	<!-- servlet for tomcat9 -->
		<dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>javax.servlet-api</artifactId>
			<version>4.0.1</version>
			<scope>provided</scope>
		</dependency>
	<!-- spring framework 5 -->
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-webmvc</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-context</artifactId>
			<version>${org.springframework-version}</version>
		</dependency>
		
		
	<!-- Options -->
	
	<!-- logging -->
		<dependency>
			<groupId>ch.qos.logback</groupId>
			<artifactId>logback-classic</artifactId>
			<version>1.4.14</version>
		</dependency>
		<dependency><!-- Watch DB log -->
		    <groupId>org.bgee.log4jdbc-log4j2</groupId>
		    <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
		    <version>1.16</version>
		</dependency>
		
	<!-- lombok -->
		<dependency>
		    <groupId>org.projectlombok</groupId>
		    <artifactId>lombok</artifactId>
		    <version>1.18.32</version>
		    <scope>provided</scope>
		</dependency>
	<!-- json -->
		<dependency>
			<groupId>com.fasterxml.jackson.core</groupId>
			<artifactId>jackson-databind</artifactId>
			<version>2.15.4</version>
		</dependency>
    <!-- gson -->
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.11.0</version>
        </dependency>

	<!-- jstl -->
		<dependency>
		    <groupId>javax.servlet</groupId>
		    <artifactId>jstl</artifactId>
		    <version>1.2</version>
		</dependency>
		<dependency>
		    <groupId>org.apache.taglibs</groupId>
		    <artifactId>taglibs-standard-impl</artifactId>
		    <version>1.2.5</version>
		    <scope>runtime</scope>
		</dependency>
	<!-- file -->
		<dependency>
		    <groupId>commons-fileupload</groupId>
		    <artifactId>commons-fileupload</artifactId>
		    <version>1.5</version>
		</dependency>
		
	
		
	<!-- ORM -->
	<!-- hibernate -->
<!-- 		<dependency>
			<groupId>org.hibernate.orm</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>6.4.8.Final</version>
		</dependency> -->
	
	<!-- mybatis -->
		<dependency>
			<groupId>org.mybatis</groupId>
			<artifactId>mybatis</artifactId>
			<version>3.5.16</version>
		</dependency>
		<dependency>
		    <groupId>org.mybatis</groupId>
		    <artifactId>mybatis-spring</artifactId>
		    <version>2.1.2</version>
		</dependency>
		<dependency>
		    <groupId>org.springframework</groupId>
		    <artifactId>spring-jdbc</artifactId>
		    <version>${org.springframework-version}</version>
		</dependency>		
		
		
	<!-- for DB -->
		<dependency>
		    <groupId>com.mysql</groupId>
		    <artifactId>mysql-connector-j</artifactId>
		    <version>8.2.0</version>
		</dependency>
		<dependency> 
		    <groupId>com.zaxxer</groupId>
		    <artifactId>HikariCP</artifactId>
		    <version>4.0.3</version>
		</dependency>
		
	<!-- test -->
		<dependency>
		    <groupId>org.junit.jupiter</groupId>
		    <artifactId>junit-jupiter-api</artifactId>
		    <version>5.10.2</version>
		    <scope>test</scope>
		</dependency>
		<dependency>
		    <groupId>org.assertj</groupId>
		    <artifactId>assertj-core</artifactId>
		    <version>3.24.2</version>
		    <scope>test</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring-test</artifactId>
			<version>${org.springframework-version}</version>
			<scope>test</scope>
		</dependency>		


	</dependencies>
</project>

 

IntelliJ Ultimate에서는 Spring Legacy를 생성할 수 있으나

STS3는 Dynamin Web Project - Convert Maven Project - add Dependency 과정을 거치며 커스텀을 해야한다

프로젝트 생성 시 2024년 2월 부로 SpringMVC Project 생성을 지원하지 않기 때문이다.

참고로 STS4는 SpringBoot를 기본으로 한다

 

${org.springframework-version} 값은 상단 <properties> ... </properties> 이 곳에 선언되어 있다.

 

 

 

728x90

'Spring' 카테고리의 다른 글

Spring MVC Project 안보일 때  (0) 2024.06.21
Mybatis mapper xml 파일 위치 지정  (0) 2024.06.10
moa(3)  (0) 2024.02.22
moa(1)  (0) 2024.02.15
프로젝트 준비  (0) 2024.02.07