* WHITEPEAK 님의 블로그를 참고하였습니다.
사수한테 Intellij에 Spring MVC & Maven 프로젝트를
설치해 보라는 미션을 받았다.
이를 위해 두가지 참고자료를 받았는데
첫번째는 조금 이상했고
두번째가 WHITEPEAK 님의 설치 법이었다.
글은 springframework version이 4.3.18 이었지만
지금은 이미 5.2.3으로 업데이트 되었고,
따라하는 도중에 자꾸 pom.xml에서
dependency의 artifactId와 version에서
빨간 글씨가 뜨면서 에러가 나는 문제가 발생.
처음엔 버전 문제인가 싶어서
버전도 낮춰보고
숫자도 바꿔보고
이블로그 저블로그 타고 다니며
다른 방법으로 프로젝트를 만들기 위해
문제를 해결하려고 노력했으나,
결론은 약 30번의 프로젝트를 만들었다 지웠다 하는 과정에서
문제를 해결할 수 있었다.
[1] Maven 프로젝트 생성하기
IntelliJ를 실행 후 Create New Project를 클릭
New Project 목록에서 Maven을 클릭하고 Project SDK에서 JDK 버전을 선택해 줍니다.
기본은 15버전인데,
1.8버전으로 설명이 나와있길래
1.8로도 만들어보고 15로도 만들어 봤는데
전부 정상적으로 작동했습니다.
Next를 클릭해주세요.
프로젝트에 대한 이름을 설정해주는 란인데
저는 연습용이기 때문에
그냥 기본으로 정해주는걸로
finish 눌렀습니다.
[2] Spring Framework 설정하기
좌측에서 본인의 프로젝트 이름을 우클릭 한뒤
Add framework Support.. 를 클릭합니다.
좌측에서 쭉 내려
Spring MVC (5.2.3.RELEASE) 를 선택해 주세요.
그럼 이렇게
web 디렉토리가 하위 파일들이 자동으로 생성된걸 확인 할 수 있습니다.
[3] Tomcat 설정하기
우측 상단 툴바에서 Add Configuration...을 클릭해주세요.
Run/Debug Configurations 창에서 좌측 상단 +를 클릭한 뒤 Tomcat Server->Local를 클릭해주세요.
톰캣이 없을 경우
이곳에서 다운받으 실 수 있습니다.
톰캣을 설정 한 후
우측 아래 Fix를 눌러줍니다.
Deployment 화면으로 이동되면 Application context를 /로 입력해주세요.
톰캣 사용시
꼭 JAVA_HOME 환경변수 설정을 진행 한 뒤
톰캣이 제대로 구동 되는지 확인 후 해주세요
환경변수 설정법은 인터넷에 잘 나와있으니
따로 설명하지 않겠습니다.
톰캣 설정은 끝났습니다.
[4]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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>untitled1</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<java-version>1.8</java-version>
<org.springframework-version>4.3.18.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<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>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<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.17</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>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</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>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
</plugins>
</build>
</project>
여기서
version 쪽에서 빨간 글씨 뜨는 분들
우측 상단에 있는
이 새로고침 아이콘을 눌러주면
모든게 해결 됩니다..!
(Ctrl+Alt+Shift+S) 단축키를 이용하여 Project Structure 창으로 이동해주세요.
목록에서 Artifacts를 클릭 후 Output Layout->Available Elements의 라이브러리 두개를 더블클릭해주세요.
[5] log4j.xml파일 설정하기
src/main/resources 디렉토리에 log4j.xml 파일을 생성하고 아래 코드를 입력해주세요.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
처음에 작성하면
빨간게 두 줄 뜨는데
당황하지 말고 무시하고 아래로 쭉쭉 진행해주세요.
[6] Controller 생성
web.xml 파일에서 <url-pattern> ... </url-pattern> 태그 사이를 /로 수정해주세요.
src/main/java 디렉토리에 controller 패키지를 생성해주세요.
그리고 해당 패키지에 HomeController.class 파일을 생성하고 아래 코드를 입력해주세요.
package controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HomeController {
@RequestMapping("/")
public String index(Model model) {
return "index";
}
}
dispatcher-servlet.xml 파일에 아래 코드를 입력해주세요.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="controller" />
</beans>
이제 상단바에서 Run Tomcat으로 서버 실행 해주시고
Build Project 해주시면
페이지가 구동 되는것을
확인 할 수있습니다
흑
기쁘다
'Spring Boot' 카테고리의 다른 글
[SpringBoot]Jenkins/windows 빌드 및 배포 자동화 - 4단계 자동 배포 (4) | 2022.03.24 |
---|---|
[SpringBoot]Jenkins/windows 빌드 및 배포 자동화 - 3단계 자동 빌드 (0) | 2022.03.24 |
[SpringBoot]Jenkins/windows 빌드 및 배포 자동화 - 2단계 github 연동 (0) | 2022.03.23 |
[SpringBoot]Jenkins/windows 빌드 및 배포 자동화 - 1단계 windows에 설치 (0) | 2022.03.23 |
[Spring Boot / gradle] Cannot load driver class: org.mariadb.jdbc.Driver 해결 (0) | 2022.03.21 |
댓글