[D-23] 우당탕탕 Maven, Spring 환경설정

  1. C드라이브에 project라는 폴더를 생성해줘따!,
    이클립스 같은 경우 우리는 2020-06 ver를 사용했따!

실행 하기전,,,,

1-0 우리 8088포트사용할껀데 이거 먼저해주자고~ 메모장 관리자모드로 실행해주고 C:\Windows\System32\drivers\etc의 host파일 실행!

우린 또리스.icia.co.kr 쓸거에여~~~!!

1-1 이번엔 톰캣의 카탈리나 폴더 들어가서 만들어져있는 폴더 암거나 복사한후 ddoris.icia.co.kr이름으로 수정해준다. 물론 그 안에 root.xml까지 같이 복붙되야댐..!

1-2 복붙된 root.xml을 이클립스에다가 불러오고, 덕베이스 수정해준다.

docBase="C:\project\webapps\ddoris\src\main\webapp"

1-3 톰캣 폴더에있는 server.xml 파일을 이클립스에서 불러주고


이러케 삽입해준다..!

★ Maven 메이븐 설치 및 환경설정

2-0 메이븐은 다운 받아서 C:\project\maven-3.8.4 폴더로 압축을 풀어줬당!
2-1 메이븐은 C:\project\maven-3.8.4\conf 들어가서 settings.xml을 열어서 아래 사진처럼 한 줄을 추가해줬다. (settings.xml은 메이븐 빌드 툴과 관련한 설정파일이라고 하셨다.)

	<localRepository>C:\project\maven-3.8.4\repository</localRepository>

2-2 또한 아래 사진처럼 C:\project\maven-3.8.4\repository 폴더 하나 생성해줬다.

2-3 이번엔 환경변수 셋팅하러간다. 내pc 들어가서 우측마우스 - 고급 시스템 속성 - 환경변수 - Path 더블클릭 - C:\project\maven-3.8.4\bin 작성해서 추가

2-4 잘 설정댓나 검수도 해볼까나~? cmd 창 켜서 [mvn -version] 치면된다. -mvn -version아니다 ㅎ 저기 노란색부분처럼 뜨면된다. mvn 한칸 띄고 -verison이다...!!

2-5 이제 이클립스랑 잘 연동해주러가보자고..!! Eclipse -> Window -> Preferences -> Maven -> User Settings 선택

이렇게 맞는지 확인해주면 메이븐은 끝~~~!!!!

★Spring 스프링 설치 및 환경설정

3-0 일단 이클립스 마켓에서 STS를 받아줄거다

  • STS (Sprint Tool Suite) 란?
    스프링 통합 개발 환경을 제공하는 툴이며 스프링을 개발하는데 많은 편의기능을 제공.

    일단 이클립스마켓에서 STS 검색한후 저 아이콘 인스톨해주고, 또 뭐라뭐라하면

    걍 피니시 해주고 이클립스 재실행해주면된다.

3-1 스프링 MVC 프로젝트 만들어보자고요~!

스프링 레거시 프로젝트 눌러주고

우리 프로젝트 명은 또리스라서 ddoris 적어줬슴요, 글고 MVC 사용할꺼니가 Spring MVC Project 클릭하고 넥스트!

여기서 MVC project package 최소 3단계로 설정 해야하는데, 우리는 com.icia.web으로 해줬다 관리자페이지만들땐 나중에 com.icia.manager로 설정해줄예정이다. 이건 우리 원내에서만 정해놓은거라서 님덜 맘대로 하셔도댐~ 근데 우리는 울 겨수님이 나중에 주실 파일들이 com.icia.web or com.icia.manager로 시작해서 프로젝트도 걍 똑가티함~~ㅎ

3-2 이번엔 스프링프로젝트 환경설정 해보자고요!!

또리스에 우측마우스-프로퍼티스-자바빌드패스-소스 들어가서 text/java로 되어있는 폴더 두개 리무브 해주고!

3-3

ddoris\src\main\webapp\WEB-INF\classes


위에꺼 복사해서 저기 디폴트 아우풋 폴더 경로 지정해주고,
체크해서 맨 위에꺼로 다 경로 지정해준다...!! 나는 창이 안떴는데 혹시 몰라서 교수님꺼 캡처본도 같이 올려둔다

3-4 이번엔 깔대기 되어 있는거 삭제할 거다

인클루드 별별.java를 눌러서 리무브해주고

3-5 자바 1.6버전 되어있는거 나는 1.8쓰니까 버전 바꿔주고



애드라이브러리 눌러서 서버 런타임 - 아파치 톰캣9 버전 클릭 - 피니시~!

3-6 오더엔 익스포트 들어가서 요 두개 탑으로 잘 올라와있는지 확인도해주고

3-7 여기서도 test 파일을 삭제해준다

3-8 이번엔 WEB-INF에 lib 폴더를 생성해준다. (lib폴더에 나중에 메이븐 환경요소들이 다 다운받아질 예정)

3-9 로그포제이는 안쓸꺼니까 삭제해주고

3-10 하이보드랑 매니저때 썼던 pom.xml 아무거나 전체복사 후 또리스 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.icia</groupId>
   <artifactId>web</artifactId>
   <name>hiboard</name>
   <packaging>war</packaging>
   <version>1.0.0-BUILD-SNAPSHOT</version>
   <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java-version>1.8</java-version>
      <org.springframework-version>5.2.12.RELEASE</org.springframework-version>
      <org.aspectj-version>1.6.10</org.aspectj-version>
      <org.slf4j-version>1.7.30</org.slf4j-version>
      <com.google.code.gson-version>2.8.6</com.google.code.gson-version>
      <org.mybatis-version>3.5.6</org.mybatis-version>
      <org.mybatis.spring-version>2.0.6</org.mybatis.spring-version>
      <commons-io-version>2.8.0</commons-io-version>
      <commons-fileupload-version>1.4</commons-fileupload-version>
      <com.zaxxer.HikariCP-version>3.4.5</com.zaxxer.HikariCP-version>
      <com.oracle.ojdbc6-version>11.2.0.4</com.oracle.ojdbc6-version>
      <ch.qos.logback-version>1.2.3</ch.qos.logback-version>
      <jackson-version>2.12.1</jackson-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>
      <!-- https://mvnrepository.com/artifact/org.spring50-spring-jdbc -->
      <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-jdbc</artifactId>
          <version>${org.springframework-version}</version>
      </dependency>
      <dependency>
          <groupId>com.oracle.database.jdbc</groupId>
          <artifactId>ojdbc6</artifactId>
          <version>${com.oracle.ojdbc6-version}</version>
      </dependency>      
      <dependency>
          <groupId>com.zaxxer</groupId>
          <artifactId>HikariCP</artifactId>
          <version>${com.zaxxer.HikariCP-version}</version>
      </dependency>      
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis</artifactId>
          <version>${org.mybatis-version}</version>
      </dependency>      
      <dependency>
          <groupId>org.mybatis</groupId>
          <artifactId>mybatis-spring</artifactId>
          <version>${org.mybatis.spring-version}</version>
      </dependency>      
      <!-- AspectJ -->
      <dependency>
         <groupId>org.aspectj</groupId>
         <artifactId>aspectjrt</artifactId>
         <version>${org.aspectj-version}</version>
      </dependency>         
      <!-- slf4j 시작 -->
      <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>
      </dependency>
      <!-- slf4j 종료 -->      
      <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>${ch.qos.logback-version}</version>
      </dependency>           
      <dependency>
          <groupId>commons-io</groupId>
          <artifactId>commons-io</artifactId>
          <version>${commons-io-version}</version>
      </dependency>     
      <dependency>
          <groupId>commons-fileupload</groupId>
          <artifactId>commons-fileupload</artifactId>
          <version>${commons-fileupload-version}</version>
      </dependency>    
      <dependency>
          <groupId>com.google.code.gson</groupId>
          <artifactId>gson</artifactId>
          <version>${com.google.code.gson-version}</version>
      </dependency>
      <dependency>
          <groupId>com.fasterxml.jackson.core</groupId>
          <artifactId>jackson-databind</artifactId>
          <version>${jackson-version}</version>
      </dependency>          
      <!-- @Inject -->
      <!-- dependency>
         <groupId>javax.inject</groupId>
         <artifactId>javax.inject</artifactId>
         <version>1</version>
      </dependency -->           
      <dependency>
         <groupId>javax.servlet</groupId>
         <artifactId>jstl</artifactId>
         <version>1.2</version>
      </dependency>
   </dependencies>
    <build>
       <sourceDirectory>src/java</sourceDirectory>
       <plugins>
            <plugin>
              <artifactId>maven-compiler-plugin</artifactId>
              <version>3.6.1</version>
              <configuration>
                   <source>1.8</source>
                   <target>1.8</target>
              </configuration>
            </plugin>          
            <plugin>
             <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-dependency-plugin</artifactId>
               <executions>
                 <execution>
                     <id>copy-dependencies</id>
                     <phase>prepare-package</phase>
                     <goals>
                          <goal>copy-dependencies</goal>
                     </goals>
                     <configuration>
                           <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/lib</outputDirectory> 
                                             <overWriteReleases>false</overWriteReleases>
                           <overWriteSnapshots>false</overWriteSnapshots>
                           <overWriteIfNewer>true</overWriteIfNewer>
                           <includeScope>runtime</includeScope>
                           <excludeScope>provided</excludeScope> 
                     </configuration>
                 </execution>
               </executions>
          </plugin>
       </plugins>
       <finalName>${project.artifactId}</finalName>
     </build>
</project>

겁나 길긴한데... 머... 복붙해줌 대니께 ㅎ

3-11 그리고 스프링 폴더는 삭제해준다

3-12 그리고나서 교수님이 주신 파일 3개를 복붙해준다. 사실 지금도 이해 안가는게... 어차피 복붙하는거면 만든 lib폴더도 굳이 미리할 필요가.... 스프링 폴더 삭제하는것도... 굳이 미리 했을 필요가...있나... 보내주신 파일엔 이미 다 처리가 잘 되어있었다.....ㅎ 아쉽게도 벨로그에 파일추가는 못하나보군.....

이거 세게 복붙친거임

3-13 마지막으로 lib에 들어있는 모든 내용을 지워주고

3-14 pom.xml에 우측마우스 클릭 - 런에즈 - 6. Maven 인스톨해준다.

3-15 이제 ㄹㅇ 거의다옴.... 오라클DB랑 연동하는 과정을 거쳐줄거다.

교수님이 알려주신 ip값이랑 주소값이랑 우리가 만든 db 아이디 패스워드 다 env.xml에 잘 기입해주고....

db저장될 업로드 파일 경로도 바꿔주고..

3-16 와스 시작 해서 ddoris.icia.co.kr:8088 들어갔을때 인덱스화면 나오면 성공... 끝..!!! 히히히

좋은 웹페이지 즐겨찾기