일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 경영의사결정
- Value Chain
- 플래닝
- 내부수익률
- 프로젝트관리모형
- 재고관리모형
- 목표계획법
- oauth
- SRM
- 위험하에서의사결정
- 선형계획법
- 일드
- 네트워크모형
- Spring Boot
- 위험관리
- 마코브분석
- 순현재가치
- Spring Security
- 재무관리
- 경여의사결정론
- 정수계획법
- CAPM
- Matcher
- 비선형계획
- 대기행렬모형
- 심플렉스법
- 동저계획법
- 보이스
- Real Option
- 수송모형
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>