일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 심플렉스법
- 마코브분석
- 재고관리모형
- 선형계획법
- 프로젝트관리모형
- 순현재가치
- SRM
- Spring Security
- 일드
- 동저계획법
- Value Chain
- oauth
- 대기행렬모형
- Matcher
- 보이스
- 네트워크모형
- 정수계획법
- 수송모형
- 위험관리
- CAPM
- Real Option
- 목표계획법
- 위험하에서의사결정
- 재무관리
- 경여의사결정론
- 경영의사결정
- 비선형계획
- 플래닝
- 내부수익률
- Spring Boot
Archives
- Today
- Total
어린왕자이야기
메이븐 다른 버전의 자바 버전 실행 본문
스프링 부트로 작업을 하면서 최근 JDK 17을 사용하는 일과 기업용으로 JDK 1.8을 사용하는 경우가 혼재하게 되어서 메이븐의 toolchain기능을 사용하게 되었다.
toolchain기능을 사용하기 위해서는 maven 2.0.9이상을 사용하여야 한다.
다음은 toolchain의 기능을 인식하는 메이븐 플러그인이다.
Toolchain type | Plugin | Starting with | Hosted at |
jdk | maven-compiler-plugin | 2.1 | Apache Maven |
jdk | maven-jarsigner-plugin | 1.3 | Apache Maven |
jdk | maven-javadoc-plugin | 2.5 | Apache Maven |
jdk | maven-pmd-plugin | 3.14.0 | Apache Maven |
jdk | maven-surefire-plugin | 2.5 | Apache Maven |
jdk | animal-sniffer-maven-plugin | 1.3 | MojoHaus |
jdk | cassandra-maven-plugin | 0.7.0-1 | MojoHaus |
jdk | exec-maven-plugin | 1.1.1 | MojoHaus |
jdk | jdiff-maven-plugin | 1.0-beta-1-SNAPSHOT | MojoHaus |
jdk | keytool-maven-plugin | 1.4 | MojoHaus |
protobuf | maven-protoc-plugin | 0.3.2 | github |
1. toolchain을 사용하기 위해서는 toolchains.xml을 다음과 같이 작성한다.
<?xml version="1.0" encoding="UTF-8"?>
<toolchains>
<!-- JDK toolchains -->
<toolchain>
<type>jdk</type>
<provides>
<version>1.8</version>
<vendor>oracle</vendor>
</provides>
<configuration>
<jdkHome>/home/java/jdk/jdk1.8.0_202</jdkHome>
</configuration>
</toolchain>
<toolchain>
<type>jdk</type>
<provides>
<version>17</version>
<vendor>oracle</vendor>
</provides>
<configuration>
<jdkHome>/home/java/jdk/jdk-17.0.1.12-hotspot</jdkHome>
</configuration>
</toolchain>
</toolchains>
2. toolchains.xml을 다음의 위치중 하나에 저장한다.
- home/.m2
- {maven_home}/conf
- 메이븐 수행시 파라미터로 위치를 전달
3. 해당 프로젝트의 pom.xml을 실행하려는 버전에 맞도록 toolchain 플러그인의 configuration을 수정한다.
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-toolchains-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<goals>
<goal>toolchain</goal>
</goals>
<configuration>
<toolchains>
<jdk>
<version>1.8</version>
</jdk>
</toolchains>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>