java 이클립스 - 기존 Eclipse 프로젝트를 Maven 프로젝트로 변환




없음 메이븐 (9)

작업중인 프로젝트의 경우 빌드를 자동화하기 위해 Eclipse 용 Maven 플러그인을 사용할 것을 고려하고 있습니다. 지금 당장의 과정은 당연히하는 것보다 훨씬 복잡합니다. Maven이 원 클릭 빌드로 단순화하기를 바라고 있습니다.

제 질문은 Maven 플러그인을 사용하여 기존 Eclipse Java 프로젝트를 Maven 프로젝트로 변환하기위한 마법사 또는 자동 가져 오기 도구가 있습니까? 아니면 새로운 Maven 프로젝트를 만들고 모든 소스 파일, libs 등을 수동으로 복사해야합니까?


Answers

제 질문은 Maven 플러그인을 사용하여 기존 Eclipse Java 프로젝트를 Maven 프로젝트로 변환하기위한 마법사 또는 자동 가져 오기 도구가 있습니까?

필자가 아는 한, Eclipse 프로젝트를 Maven 프로젝트로 자동 변환하는 것 (즉, 레이아웃 수정, POM 작성, 생성 및 메타 데이터 피드, 라이브러리 및 해당 버전 검색, POM 추가 등)은 없습니다. , 등). 이클립스는 이것을 가능하게하는 충분한 메타 데이터를 가지고 있지 않으며 (POM의 핵심이다) 그리고 / 또는 알맞은 결과를 내기 위해서이다.

아니면 새로운 Maven 프로젝트를 만들고 수동으로 모든 소스 파일, libs 등을 복사해야합니까?

그것은 내 생각에 최선의 선택이 될 것입니다. Maven 프로젝트를 만들고, 소스, 리소스, 테스트, 리소스를 각각의 디렉토리에 복사 / 이동하고 의존성을 선언하십시오 .


Chengdong의 대답은 정확합니다. Configure>Convert to Maven Project 를 사용해야합니다. 그러나 m2e 0.13.0 : m2e 1.1+ 및 m2e-wtp 0.16.0+가 기존 Eclipse 설정을 Maven Plugin 구성으로 변환 할 수 있으므로 변환 프로세스가 크게 향상되었습니다.

의존성 변환 문제에 관해서는, MBE의 변환 프로세스에 연결되어있는 실험 변환 마법사가 포함 된 JBoss Tools (JBT) 4.0 Maven 통합 기능을 사용해보십시오. http://docs.jboss.org/tools/whatsnew/maven/maven-news-4.0.0.Beta1.html .

궁극적 인 해결책 인 척하지 않으며, Maven 변환 프로세스를 부트 스트랩하는 데 크게 도움이되어야합니다.

또한 FYI에서 m2e의 변환 프로세스를 향상시키는 몇 가지 아이디어 가 있습니다. Maven 레이아웃을 사용하기위한 리팩토링은 장래에 구현 될 것입니다.

JBuilder 4.0 (Eclipse JavaEE Juno 필요)은 http://download.jboss.org/jbosstools/updates/stable/juno/ 또는 Eclipse Marketplace에서 설치할 수 있습니다.


Java 프로젝트를 SBT / Maven 프로젝트로 변환하는 명령 행 프로그램이 있습니다.

그것은 모든 항아리를 해결하고 SHA 체크섬, 클래스 경로 또는 파일 이름을 기반으로 정확한 버전을 파악하려고 시도합니다. 그런 다음 작동하는 구성을 찾을 때까지 소스를 컴파일하려고 시도합니다. 종속성 구성별로 실행할 사용자 지정 작업도 제공 할 수 있습니다.

UniversalResolver 1.0
Usage: UniversalResolver [options]

  -s <srcpath1>,<srcpath2>... | --srcPaths <srcpath1>,<srcpath2>...
        required src paths to include
  -j <jar1>,<jar2>... | --jars <jar1>,<jar2>...
        required jars/jar paths to include
  -t /path/To/Dir | --testDirectory /path/To/Dir
        required directory where test configurations will be stored
  -a <task1>,<task2>... | --sbt-tasks <task1>,<task2>...
        SBT Tasks to be executed. i.e. compile
  -d /path/To/dependencyFile.json | --dependencyFile /path/To/dependencyFile.json
        optional file where the dependency buffer will be stored
  -l | --search
        load and search dependencies from remote repositories
  -g | --generateConfigurations
        generate dependency configurations
  -c <value> | --findByNameCount <value>
        number of dependencies to resolve by class name per jar

https://bitbucket.org/mnyx/universalresolver


기본 POM을 만들고 m2eclipse 기능을 사용하려면 다음과 같이하십시오. 현재 가져 오려는 대체 자동 설치 설정이 없다고 가정하고 m2eclipse 플러그인에 대해 설명하고 있다고 가정합니다.

m2eclipse 플러그인은이 기본 pom.xml을 추가하기 위해 프로젝트에서 오른쪽 클릭 옵션을 제공합니다.

최신 M2E 버전

프로젝트 -> 서브 메뉴 구성 -> Maven 프로젝트로 변환을 마우스 오른쪽 버튼으로 클릭하십시오.

이전 M2E 버전

프로젝트 -> 하위 메뉴 Maven -> Enable Dependency Management를 마우스 오른쪽 버튼으로 클릭하십시오.

그러면 해당 프로젝트에 대한 플러그인을 활성화하는 데 필요한 작업을 수행 할 것입니다.


' 자동 수입업자 또는 마법사가 있습니까? ': 내가 아는 한에서는 아니다. 위 옵션을 사용하면 수동으로 복사하지 않고 기존 프로젝트에 m2eclipse 플러그인을 사용할 수 있습니다. 의존성 및 자신을 구축하는 데 필요한 기타 요소를 실제로 설정해야합니다.


m2e 0.13.0 (이전이 아닌 경우)부터 시작하여 컨텍스트 메뉴에서 Java 프로젝트를 Maven 프로젝트로 변환 할 수 있습니다. 방법은 다음과 같습니다.

  • Java 프로젝트를 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴가 나타납니다.
  • 구성> Maven 프로젝트로 변환을 선택하십시오.

다음은 스크린 샷과 관련된 세부 단계 입니다.


프로젝트 이름> 구성> Maven 프로젝트로 변환> 마침을 클릭하십시오. 여기에 몇 가지 종속성을 추가하여 예상되는 jar 파일을 다운로드하고 추가합니다.

자동으로 생성 된 pom.xml 파일이 생성됩니다. 이클립스 편집기에서 해당 파일을 xml 형식으로 엽니 다. 빌드 태그 ( </build> ) 이후에 의존성을 추가합니다. 의존성은 Maven 웹 사이트에서 복사하여 거기에 추가 할 수 있습니다. 이제 너는 잘하게된다. 이러한 종속성은 필요한 jar 파일을 자동으로 추가합니다.


우리가 git에서 프로젝트를 import 할 때, 그것은 maven 프로젝트가 아니기 때문에 maven dependencies가 빌드 경로에 있지 않기 때문에 필요합니다.

다음은 일반적인 프로젝트를 maven 프로젝트로 전환하기 위해 수행 한 작업입니다.

일반 프로젝트 -> 자바 프로젝트, 속성 -> 프로젝트 패싯을 마우스 오른쪽 버튼으로 클릭하고 "java"를 클릭하십시오. 이 단계는 일반 프로젝트를 Java 프로젝트로 변환합니다.

java 프로젝트 -> maven 프로젝트 프로젝트를 마우스 오른쪽 버튼으로 클릭하고, configure -> maven 프로젝트로 변환합니다.이 시점에서 maven 의존성 라이브러리는 아직 빌드 경로에 없습니다. 프로젝트 속성, 빌드 경로, 라이브러리 추가, Maven 종속성 lib 추가

의존성이로드 될 때까지 몇 초 기다리면 프로젝트가 준비됩니다!


Gradle로 변환하는 것은 Maven과 유사합니다 :

프로젝트 -> 하위 메뉴 구성 -> STS (Gradle) 프로젝트로 마우스 오른쪽 버튼을 클릭하십시오.


JDK에서 가장 쉬운 방법은 다음과 같은 코드 스 니펫입니다.

String convertToString(InputStream in){
    String resource = new Scanner(in).useDelimiter("\\Z").next();
    return resource;
}




java eclipse maven-2