이와 같은 프로젝트를 변환하면 더 큰 프로젝트가있을 때 눈에 띄는 부작용이있을 수 있다는 중요한 힌트를 추가하고 싶습니다. Intellij Idea (2017)가 pom.xml에서만 중요한 설정을 가져 와서 약간의 혼란을 초래할 수 있기 때문에 다음 섹션에 영향을 미칩니다.
- 모듈에 대한 주석 설정이 변경되었습니다.
- 모듈의 컴파일러 출력 경로가 변경되었습니다.
- 리소스 설정은 완전히 무시되며 pom.xml에서만 가져옵니다.
- 모듈 종속성이 엉망이되어 점검해야합니다
- 모듈의 언어 / 인코딩 설정이 변경되었습니다.
이 모든 사항을 검토하고 조정해야하지만 이후에는 매력처럼 작동합니다.
더 불행히도 충분한 pom.xml 템플릿이 생성되지 않았으므로 대부분의 문제를 해결하는 데 도움이되는 예제를 추가했습니다.
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Name</groupId>
<artifactId>Artifact</artifactId>
<version>4.0</version>
<properties>
<!-- Generic properties -->
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
<dependencies>
<!--All dependencies to put here, including module dependencies-->
</dependencies>
<build>
<directory>${project.basedir}/target</directory>
<outputDirectory>${project.build.directory}/classes</outputDirectory>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<testSourceDirectory> ${project.basedir}/src/test/java</testSourceDirectory>
<resources>
<resource>
<directory>${project.basedir}/src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
<resource>
<directory>${project.basedir}/src/main/resources</directory>
<includes>
<include>**/*</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<annotationProcessors/>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
2019 수정 :
- 재귀 리소스 스캔 추가
- IDEA가 컨텐츠 루트 구조를 폐기하는 혼동을 피하기 위해 중요 할 수있는 디렉토리 스펙 추가