[java] IntelliJ-Java 프로젝트 / 모듈을 Maven 프로젝트 / 모듈로 변환

Bitbucket에 대한 프로젝트가 있습니다. 소스 만 커밋됩니다. 새 시스템으로 프로젝트를 검색하기 위해 IntelliJ 내에서 Version Control> Version Control에서 Checkout을 사용했습니다.

그런 다음이 소스에서 새 프로젝트를 만들지 여부를 묻습니다. 여태까지는 그런대로 잘됐다. 단일 모듈로 구성된 멋진 Java 프로젝트를 만듭니다.

그러나이 프로젝트를 IntelliJ로 가져 오는 목표는 프로젝트를 Maven 프로젝트로 바꾸는 것이 었습니다. 내가 할 수있는 옵션을 찾을 수 없습니다!

IntelliJ가 이름과 artifactId 및 저장소를 사용하여 기본 빈 pom.xml을 생성하도록 할 수 있습니까? 아니면 먼저 프로젝트를 Maven 프로젝트로 가져 오는 방법이 있습니까? (기존 소스에서 프로젝트를 만들려고 할 때마다 Java 프로젝트 옵션 만 제공합니다.)



답변

모듈을 마우스 오른쪽 버튼으로 클릭하고 “프레임 워크 지원 추가 …”를 선택한 다음 “Maven”기술을 확인하십시오.

(이것은 또한 pom.xml수정할 수 있도록 만듭니다 .)

소스 리포지토리 요소를 추가하려는 경우 수동으로해야한다고 생각합니다.

Pre-IntelliJ 13 이것은 프로젝트를 Maven 표준 디렉토리 레이아웃으로 변환하지 않으며 13+ 이상입니다.


답변

혜택을받는 사람들을위한 비주얼.

여기에 이미지 설명을 입력하십시오

프로젝트 이름 (이 예에서는 “test”)을 마우스 오른쪽 단추로 클릭 한 후 “프레임 워크 지원 추가”를 선택하고 “Maven”옵션을 확인하십시오.


답변

  1. ‘Maven 프로젝트’를 엽니 다 (오른쪽 탭).
  2. ‘Maven 프로젝트 추가’사용
  3. pom.xml 찾기

답변

이와 같은 프로젝트를 변환하면 더 큰 프로젝트가있을 때 눈에 띄는 부작용이있을 수 있다는 중요한 힌트를 추가하고 싶습니다. Intellij Idea (2017)가 pom.xml에서만 중요한 설정을 가져 와서 약간의 혼란을 초래할 수 있기 때문에 다음 섹션에 영향을 미칩니다.

  1. 모듈에 대한 주석 설정이 변경되었습니다.
  2. 모듈의 컴파일러 출력 경로가 변경되었습니다.
  3. 리소스 설정은 완전히 무시되며 pom.xml에서만 가져옵니다.
  4. 모듈 종속성이 엉망이되어 점검해야합니다
  5. 모듈의 언어 / 인코딩 설정이 변경되었습니다.

이 모든 사항을 검토하고 조정해야하지만 이후에는 매력처럼 작동합니다.

더 불행히도 충분한 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가 컨텐츠 루트 구조를 폐기하는 혼동을 피하기 위해 중요 할 수있는 디렉토리 스펙 추가

답변

나는 다른 시나리오를 가지고 있었지만 여전히이 대답에 착륙했습니다.
여러 Maven 프로젝트가 들어있는 루트 프로젝트 폴더 와이 프로젝트에 사용 된 다른 것들을 가져 왔습니다.
IntelliJ는 Java 파일을 인식했지만 Maven 종속성을 해결하지 못했습니다.

각 폼을 마우스 오른쪽 버튼으로 클릭하고 “maven 프로젝트로 추가”를 수행하여이 문제를 해결했습니다.


답변

아래 단계를 수행하여 동일한 문제를 해결했습니다.

  1. 파일> 프로젝트 닫기

  2. 프로젝트 가져 오기

  3. 시스템 파일 팝업을 통해 프로젝트를 선택하십시오

  4. “외부 모델에서 프로젝트 가져 오기”단일 선택 단추를 선택하고 Maven 항목을 선택하십시오.

  5. 그리고 일부 다음 버튼 (JDK 선택, …)

그런 다음 프로젝트를 Maven 모듈로 가져옵니다.


답변

이 문제는 나를 위해 수정되었습니다. 오른쪽에 maven 프로젝트 열기 탭. 폼이 아직 없으면 추가 한 다음 탭 왼쪽 상단에서 새로 고침을 클릭하십시오.