본문 바로가기
Development (국비 복습 )/개발셋팅 모음

[STS] STS 설치방법 (Spring Tool Suit)

by Puddingforever 2023. 5. 18.

1.STS 설치 환경 구성

이클립스 프로젝트와 sts의 프로젝트는 사용자/.m이라는 곳에 respository를 만들며, 둘은 같은 곳을 쓰기 떄문에 동시 사용을 하면 안좋음

따라서 STS라는 이름으로 계정을 새로 추가함(로컬계정으로 추가)

 

2.STS 다운로드 방법

https://spring.io/

projects -> spring tools4 -> Looking for Spring Tool Suite 3? ->  Spring Tool Suite 3 wiki

젤 처음 링크가 최신이라서 다운로드 (c 로컬디스크에 다운)

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

여기에 압축 풀기 -> stsbundle -> sts-3.9.18 release 잘래내고 myjava에 넣음

 

 

해당 폴더에 들어가서 sts.exe 바로가기 하나 만들고 이름 SpringToolSuit으로 해서 바탕화면에 만듬

 

3.STS기동을 위한 JDK11 설치

STS 버전마다 JDK가 다름..현재 사용하는 STS3JDK11로 기동되서 JDK11을 설치해야함

X64 Compressed Archive로 설치  

 

 

Myjavajdk-11폴더 만들고 저장

다시 sts파일로 들어가서 Sts.ini 백업본 만들고 , jdkbin폴더에 있는 javaw.exe경로를 STS ini파일에 추가함

VM을 설정해두면, JDK 시스템설정을 해두지 않아도 설정해둔 JDK로 STS가 기동된다.

3.프로젝트 환경 설정

STS용 워크스페이스 만들고 launch

JDK1.8로 개발하기 때문에 JDK8컴파일 및 JRE8로 구성

메뉴 -> window -> preferences -> java -> installedexecution 둘다 JDK 1.8로 함

 

 

워크스페이스 인코딩 설정 , 톰캣 서버 연동

 

톰캣서버연동 정리해둔 글 : https://ddddddfsddfdg.tistory.com/277

인코딩 설정 정리해둔 글 : https://ddddddfsddfdg.tistory.com/266


 

Spring Legacy Project 생성 기본 구성 

 

web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="4.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
						https://java.sun.com/xml/ns/javaee/web-app_4_0.xsd">
	<!-- 스프링 UTF-8 인코딩 필터(한글처리)한글처리를 위한 UTF-8 인코딩 필터를 추가 -->
   <filter>
      <filter-name>encodingFilter</filter-name>
      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
      <init-param>
         <param-name>encoding</param-name>
         <param-value>UTF-8</param-value>
      </init-param>
      <init-param>
         <param-name>forceEncoding</param-name>
         <param-value>true</param-value>
      </init-param>
   </filter>
   <filter-mapping>
      <filter-name>encodingFilter</filter-name>
      <url-pattern>/*</url-pattern>
      <!--<servlet-name>appServlet</servlet-name> -->
   </filter-mapping>
	<!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
	<!--스프링 프로그램 활성화  -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/spring/root-context.xml</param-value>
	</context-param>
	<!-- Creates the Spring Container shared by all Servlets and Filters -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<!-- Processes application requests -->
	<servlet>
		<servlet-name>appServlet</servlet-name>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>appServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
</web-app>

 

 

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">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.spring5</groupId>
	<artifactId>mypro00</artifactId>
	<name>mypro00</name>
	<packaging>war</packaging>
	<version>1.0.0-BUILD-SNAPSHOT</version>
	<properties>
		<java-version>1.8</java-version>
		<org.springframework-version>5.2.24.RELEASE</org.springframework-version>
		<org.aspectj-version>1.9.19</org.aspectj-version>
		<org.slf4j-version>2.0.7</org.slf4j-version>
	</properties>
	<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.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>
			<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>javax.servlet-api</artifactId>
  		     <version>4.0.1</version>
             <scope>provided</scope>
        </dependency>
		<dependency>
    		<groupId>javax.servlet.jsp</groupId>
    		<artifactId>javax.servlet.jsp-api</artifactId>
    		<version>2.3.3</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.13.2</version> 
<!-- 		<scope>test</scope>    -->
 		</dependency>        
	</dependencies>
    <build>
        <plugins>
            <plugin>
                <artifactId>maven-eclipse-plugin</artifactId>
                <version>2.10</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>3.11.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</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>3.1.0</version>
                <configuration>
                    <mainClass>org.test.int1.Main</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

버전은 라이브러리마다 mavenrepository 사이트 들어가서 넣어야함 ! 

 

Project Facet 설정도 확인한다. 

 

 

web.xml 의 web-app version과 proejct facet의 dynamic web module의 버전이 맞아야함 4.0!

 

web.xml

pom.xml

 

project facets의 java와 pom.xml의 java-version이 맞아야함 1.8!

 

댓글