Maven 종속성을 사용하도록 Eclipse 빌드 경로를 구성하는 방법은 무엇입니까?


124

프로젝트에서 종속성을 관리하기 위해 Maven이 제공하는 기능을 활용하고 싶습니다. Maven이 작동하는 방식에 대한 간략한 이해는 필요한 JAR을 얻은 다음 이러한 라이브러리로 프로젝트를 빌드한다는 것입니다.

현재 테스트로 설정된 간단한 POM 파일이 있습니다.

<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

종속성을 관리하기 위해 일반적으로 프로젝트 또는 JAR을 빌드 경로에 추가 한 다음 프로젝트를 빌드 할 수 있습니다.

그러나 M2Eclipse 를 사용할 때 종속성이 빌드 경로에 자동으로 추가되지 않습니다. Maven이 종속성을 관리하고 있음을 Eclipse에 알리는 구성이 있습니까?

답변:


116

프로젝트를 마우스 오른쪽 버튼으로 클릭하면 "maven"아래에 "종속성 관리 활성화"옵션이 있어야합니다. 그게 다야.


2
mvn eclipse : eclipse로 만든 프로젝트를 가져 오는 경우 m2eclipse는 기본적으로이 작업을 수행하지 않으므로 항상 사람들을 괴롭히는 것처럼 보입니다.
Matt b

28
실제로 내 프로젝트에서 이미 활성화되었습니다. 기존 프로젝트에 POM 파일을 추가하기로 선택했기 때문일까요? 그러나 Maven> Update 프로젝트 구성을 수행하면 문제가 해결 된 것 같습니다. 또한 결국 프로젝트를 수정할 수있는 도구 모음을 발견하게 된 것은 귀하의 답변이었습니다. 많은 감사
James Goodwin

12
m2eclipse가 설치된 것처럼 보이지만 오른쪽 클릭 메뉴에 "Maven"옵션이 없으면 어떻게합니까?
dfrankow

85
아, "Configure"=> "Convert to Maven Project"는 당신의 친구입니다!
dfrankow

2
@dfrankow 만약 "Configure"=> "Convert to Maven Project"옵션이 존재하지 않는다면?
vasilakisfil

67

실행하면

mvn eclipse:clean

뒤에

mvn eclipse:eclipse

이클립스 .classpath파일을 준비 한다면. 즉,이 명령은 eclipse 외부의 명령 줄에서 maven에 대해 실행됩니다.


이것은 종속성을 참조하기 위해 클래스 경로 변수 (M2_REPO)를 사용하여 작동하며 m2eclipse를 사용하지 않으며 프로젝트에서 작업 할 때 추가하는 종속성을 선택하지 않는다고 생각합니다. 초기 설정 진행
matt b

@matt b : 종속성이 변경 될 때마다 mvn eclipse : eclipse를 다시 실행해야합니다.
Buhb 2010 년

Buhb가 말한 내용을 추가하려면 명령 줄에서 mnv eclipse : eclipse를 수행하고 pom.xml에 deps를 더 추가 할 때마다 Eclipse 프로젝트를 새로 고칩니다.
Binil Thomas

5
m2eclipse 플러그인을 사용할 때는 필요하지 않습니다.
Pascal Thivent

3
m2eclipse 플러그인을 사용하고 있으며 기존 maven 프로젝트를 Eclipse로 가져온 후 문제가 발생했습니다. 이렇게 mvn eclipse:clean하고 mvn eclipse:eclipse실제로 나를 위해 문제를 해결했습니다.
aioobe

29

나는 당신이 언급했듯이 m2eclipse를 사용하고 있다고 가정합니다. 그러나 Eclipse에서 프로젝트를 만들 었는지 여부가 명확하지 않으므로 모든 경우를 다루도록하겠습니다.

  1. Eclipse에서 "Java"프로젝트를 작성한 경우 (Ctrl + N> Java 프로젝트) 패키지 탐색기 보기 에서 프로젝트 를 마우스 오른쪽 단추로 클릭 하고 Maven> 종속성 관리 사용으로 이동 하십시오 (초기 프로젝트 구조에 따라 수정이있을 수 있음). 예를 들어 빌드 경로의 소스 폴더에 추가하여 maven의 것과 일치시킵니다 .src/java

  2. Eclipse (Ctrl + N> Maven Project)에서 "Maven Project"를 만든 경우 이미 "Maven 준비"상태 여야합니다.

  3. 이클립스 (수동 또는 원형과), 단순히 외부 Maven 프로젝트를 만든 경우 가져올 이클립스에서을 ( 마우스 오른쪽 단추로 클릭 패키지 탐색기 보기를 선택 가져 오기를 ...> 메이븐 프로젝트 )하고 "메이븐 준비"입니다.

이제 종속성을 추가 하려면 프로젝트를 마우스 오른쪽 단추로 클릭 하고 Maven> 종속성 추가를 선택 하거나 pom을 수동으로 편집하십시오.

추신 : m2eclipse를 사용하는 경우 maven-eclipse-plugin을 사용하지 마십시오 . 그럴 필요가 전혀없고 혼란스럽고 엉망이 될 것입니다. 아니, 정말로, 당신이하는 일을 정말로 알지 못한다면 그것을 사용하지 마십시오.


2
방금 maven-eclipse-plugin이 내 이상한 미해결 종속성 오류의 원인이라는 것을 알게되었습니다. 감사!
vaughan 2011-06-27

1
공식 사이트에서 다운로드 한 EclipseNeon을 사용하고 있습니다. 표준 Java 프로젝트를 생성 한 후 메뉴에 Maven 옵션이 없습니다. 별도로 설치해야하나요 아니면 Neon으로 모든 것이 이미 다운로드 되었나요?
Ewoks

@Pascal Thivent, Maven 프로젝트를 가져 왔습니다. 나는이 일에 대한 솔루션을 찾을 수 아니에요
에드

19

이것을 .classpath 파일에 추가하십시오 ..

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

고마워


1
그래, 나는 지난 몇 년 동안 어디서나 수동으로 추가해야합니다 .... 왜 그들은 maven 의존성을 자동으로 재 인식하기 위해 이클립스 플러그인을 강요하지 않습니까?
면도기

1
이 솔루션에 감사드립니다. 이것은 나를 위해 일했습니다. 실수로 .project 및 .classpath 파일을 삭제했습니다. 이 솔루션은 나를, 클래스 패스에 받는다는 종속성을 추가하기 위해 일
타히르 Mehmood에게

위의 .classpath 파일을 자동으로 생성하는 바로 가기는 Project-> Maven-> Update Project입니다. 그렇지 않으면 Alt + F5
Venkateswara Rao

나를 위해 일했습니다. 대부분의 누락 된 종속성을 해결했지만 여전히 몇 가지 문제가 있으므로 어딘가에 작은 오류가 있기 때문에 더 사용자 친화적 인 솔루션이 작동하지 않는지 궁금합니다 (하지만이 동작은 문제를 디버그하는 데 도움이되지 않습니다 ...)
xenoid

14

프로젝트 구성> Maven 프로젝트로 변환을 마우스 오른쪽 단추로 클릭하십시오.

그러면 프로젝트에 대한 모든 Maven 관련 메뉴를 볼 수 있습니다.


올바른 방법으로 첫 번째 장소에서 MVN 프로젝트 생성 didnt는 경우
한스 Schneidermayer

10

이렇게 했어요 ..

프로젝트-> 구성-> Maven 프로젝트로 변환을 마우스 오른쪽 버튼으로 클릭합니다. 프로젝트-> maven-> 종속성 추가를 마우스 오른쪽 버튼으로 클릭합니다.


5

Eclipse (Mars)에서 다음으로 이동 :

프로젝트 속성-> Maven. "작업 공간 프로젝트에서 종속성 해결"이 비활성화 되어 있는지 확인하십시오 .


이것은 원래 문제를 해결하지 못했지만 몇 주 동안 겪어 온 또 다른 잔소리 문제를 해결했습니다. 해당 옵션을 비활성화 한 후 메이븐 명령 줄에서만 실행되었던 내 프로젝트가 이제 이클립스 내에서 다시 실행됩니다! 감사합니다!
Bill Hileman 2018

4

maven 또는 구성 메뉴를 찾지 못했지만 문제를 해결 한 다음 버튼을 찾았습니다.

여기에 이미지 설명 입력


2

m2eclipse가 올바르게 설치되면 종속성이 자동으로 추가됩니다. 그러나 다음을 입력하여 Eclipse 프로젝트 파일을 생성해야합니다.

mvn eclipse:m2eclipse

또는 m2eclipse를 사용하지 않는 경우 :

mvn eclipse:eclipse

3
주의 : 버전 2.8 이후 maven-eclipse-plugin은 "eclipse : m2eclipse"를 더 이상 지원하지 않습니다 (이유 / 정보를 찾을 수 없음)
Wolkenarchitekt

1

하나의 프로젝트 내에서 여러 하위 프로젝트로 인해 약간의 문제가 발생했습니다. 이 경우 POM이 포함 된 개별 폴더로 이동하고 mvn eclipse : eclipse 명령을 실행 한 다음 클래스 경로 항목을 내 프로젝트 클래스 경로 파일에 수동으로 복사 / 병합해야했습니다.


1

최신 Eclipse 버전 (> = Mars)의 경우 프로젝트> 구성> Maven 프로젝트로 변환을 마우스 오른쪽 버튼으로 클릭합니다.


1

몇 가지 이유로 내 답변을 추가합니다.

  • 나열된 답변 중 어느 것도 내 문제를 직접 해결하지 못했습니다.
  • Maven에서 "Enable dependency management"를 찾을 수 없습니다. 2015 년 2 월 4 일 수요일에 Eclipse 4.4.2 빌드를 사용하고 있습니다.

저에게 도움이 된 것은 Maven에서 "Update Project"라는 또 다른 옵션이었고, 클릭하면 "Force update of Snapshot / Releases"라는 확인란이있는이 창이 열립니다. 이 확인란의 실제 목적은 내가 아는 것과 다르지만 어떻게 든 종속성 문제를 해결했습니다. 여기에 이미지 설명 입력


1

그 어느 것도 내 문제를 해결하지 못했습니다. 하지만 내가 한 것은 pom.xml을 클릭하면 하단에 종속성이라는 탭이 있습니다. 이 탭에서는 종속성이라는 섹션과 종속성 관리라는 섹션으로 나뉩니다. 종속성 섹션에서 모든 항목을 선택하고 추가를 클릭하여 종속성 관리 제어 아래에 있도록하십시오. 프로젝트를 닫았다가 다시 엽니 다.


0

M2Eclipse 대신 maven-eclipse-plugin을 살펴볼 수 있습니다.

기본적으로 maven-eclipse-plugin 구성을 pom.xml에 추가 한 다음 실행 하여 Eclipse에 mvn eclipse:eclipse필요한 파일 .project.classpath파일을 생성합니다 . 그러면 Eclipse에서 올바른 빌드 경로를 갖게됩니다.


eclipse : eclipse는 나쁘고 Maven에 의존하는 대신 종속성에 모든 라이브러리를 하나씩 추가합니다
razor

0

POM이 이름 지정 규칙을 따르고 소문자로 이름이 pom.xml및 NOT 으로 지정되었는지 확인하십시오 POM.xml.

제 경우에는 모든 것이 옳았지만 Eclipse는 마우스 오른쪽 버튼을 클릭하려고 할 때 여전히 불평 Update project configuration하고 POM을 읽을 수 없다고 말했습니다. - 소문자로 이름 변경 pom.xml에서을 POM.xml- 그리고 그것은했다.


0

나도이 문제를 만났다. 에 종속성을 추가 할 때 pom.xml로컬 폴더를 확인했고 /Users/xyz/.m2/jar가 이미 여기에 다운로드되었지만 이클립스의 빌드 경로를 추가 할 수 없습니다.

내 이클립스 버전 : Mars.2 릴리스 (4.5.2)

프로젝트 > Maven > 작업 공간 해결 활성화를 마우스 오른쪽 버튼으로 클릭

하고 이로 인해 문제가 해결되었습니다.


0

일반적으로 작업중인 프로젝트에서 .classpath 파일을 복사 할 수 있습니다. 여기에는 표준 Maven 프로젝트로 구조화되었다고 가정 할 때 특정 프로젝트가 없기 때문입니다.


0

이것은 Eclipse Oxygen (4.7.0)에서 나를 위해 일했습니다.

Project-> Maven-> Select Maven Profiles ...를 마우스 오른쪽 버튼으로 클릭 한 다음 Repository Proxy 상자를 선택하고 OK를 누릅니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.