[컴][웹][자바][스프링] 간단한 hello world with spring 5

maven 으로 spring 5.0-mvc 의 helloworld 만들기

간단한 hello world with spring 5


maven 3.0 부터 -DarchetypeRepository 는 동작하지 않는다. (참고) 그래서 여기 조언 을 따라야 한다.
  1. mvn archetype:generate -DarchetypeGroupId=fr.uha.ensisa.ff -DarchetypeArtifactId=spring-mvc-archetype -DarchetypeVersion=1.0.3 -DgroupId=com.mysimple -DartifactId=my-simple-spring -Dversion=0.8 -DarchetypeRepository=http://kolorobot.github.io/spring-mvc-quickstart-archetype

  2. pom.xml 의 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 추가
  3. plugin versrion 추가
    <build>
        ...
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                ...
            </plugin>
            ...
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.22.0</version>
                ...
            </plugin>
        </plugins>
    </build>
    

maven 에서 local jar import 하기

<repository>
    <id>in-project</id>
    <name>In Project Repo</name>
    <url>file://${project.basedir}/libs</url>
</repository>

<dependency>
    <groupId>dropbox</groupId>
    <artifactId>dropbox-sdk</artifactId>
    <version>1.3.1</version>
</dependency>

libs 안의 구조는 아래처럼 만든다.
/groupId/artifactId/version/artifactId-verion.jar


원하는 곳에 local repository 를 만들어서 사용하는 법

개인적으로 이방법이 가장 나은듯 하다.
  • Randomized Sort: Configuring Maven to Use a Local Library Folder
    • mvn install:install-file -Dfile=c:\\a\\programming\\java\\simple-spring\\my-simple-spring\\lib\\ex-common-1.0.1.jar  -DgroupId=com.nh -DartifactId=ex-common -Dversion=1.0.1 -Dpackaging=jar -DlocalRepositoryPath=c:\\a\\programming\\java\\simple-spring\\my-simple-spring\\lib 
    • 이런식으로 등록하고, pom.xml 에 <dependency> 를 추가하면 된다.
maven-war-plugin 사용시
참고로 'maven-war-plugin' 을 사용하게 되면, <distributionManagement> 에 repository 를 추가해줘야 한다.
<repositories>
    ...
    <repository>
        <!-- DO NOT set id to "local" because it is reserved by Maven -->
        <id>lib</id>
        <url>file://${project.basedir}/lib</url>
    </repository>
</repositories>
<distributionManagement>
    <repository>
        <!-- DO NOT set id to "local" because it is reserved by Maven -->
        <id>lib</id>
        <url>file://${project.basedir}/lib</url>
    </repository>
</distributionManagement>

local repository 에 jar 을 등록

.so 등 다른 type 의 library 를 이용할 때

특정 file 을 war 에 포함하기

.dll 같은 특정파일을 target/WEB-INF/lib 에 넣고 싶었다. 이 .dll 을 lib/*.jar 에 의해 쓰이는 파일이다. 그래서 찾은 방법은 그냥 copy 해 넣는 방법이 가장 나았다. 아래를 참고하자.
<plugin>
 <groupId>org.codehaus.mojo</groupId>
 <artifactId>exec-maven-plugin</artifactId>
 <version>1.6.0</version>
 <executions>
  <execution>
   <id>copy-libs</id>
   <phase>prepare-package</phase>
   <goals>
    <goal>exec</goal>
   </goals>
  </execution>
 </executions>
 <configuration>
  <workingDirectory>${project.basedir}</workingDirectory>
  <executable>cp_sodll.bat</executable>
  <!-- <executable>bash</executable>
  <commandlineArgs>handleResultJars.sh</commandlineArgs> -->
 </configuration>
</plugin>

tomcat 띄우기

  1. tomcat download : Apache Tomcat® - Apache Tomcat 9 Software Downloads
  2. 압축을 푼다.
  3. cmd 창을 열고,
  4. <tomcat_root>\bin\catalina.bat 실행

tomcat의 debug port 열기

JPDA_ADDRESS port 로 attach를 하면 된다.
set JPDA_ADDRESS=8000
set JPDA_TRANSPORT=dt_socket
bin/catalina.bat jpda start



References

  1. Create Spring Web MVC Project from Maven Archetype in Eclipse Neon - Pega Exchange

댓글 없음:

댓글 쓰기