현재 우리 팀에서 Maven 사용이 비효율적이라는 사실을 발견했습니다. 그래서 나는이 질문을 가지고있다.Idea IDE에서 m2ecipse 및 maven을 올바르게 사용하는 방법은 무엇입니까?
큰 프로젝트는 Maven 3으로 구성된 300-500 개의 모듈로 구성되어 있습니다. 10 개의 하위 프로젝트로 나눠서 각 하위 프로젝트에 루트 pom.xml
이 있습니다. 그들이 project1, project2, .. projectN이라고합시다. 나는 주로 project3
을 30 개의 모듈로 구성하고 있으며, 그들은 project4
과 project5
에 의존한다. 프로젝트 3에서
project3:
module3-1 SNAPSHOT
module3-2 SNAPSHOT
module3-3 SNAPSHOT
module3-4 SNAPSHOT
module3-5 SNAPSHOT
module3-6 RELEASE
...
module3-30 RELEASE
, 일부는하지 너무 자주 모듈을 출시 변경하고 일부 (module3-1..3-5이) 매우 자주 변경, 그래서 내가 여기 SNAPSHOT 버전을 사용합니다.
우리는 Archiva 서버를 실행하여 모든 아티팩트를 관리하고 출시 버전과 스냅 샷 버전을 모두 포함합니다. 나는 모든 스냅 샷 버전을 자동으로 다운로드해야한다 기대를 들어
[my-ubuntu] ~/project3/$ mvn clean; mvn deploy
...
EVERYTHING SUCCEED
[my-ubuntu] ~/project3/$
: 내 project3
에서 뭔가를 변경하는 경우
이제 문제는, 일반적으로 나는 전체 하위 프로젝트를 배포하고자한다 &가 다른 사람의 컴퓨터에서 업데이트되었습니다. 예상대로 명령 줄에서
,이 일 것 :
[john's ubuntu] ~/project4/$ mvn package
...
download http://archiva-server/snapshots/project3/...-SNAPSHOT... [SUCCEEDED]
...
EVERYTHING SUCCEED
[john's ubuntu] ~/project4/$
그러나, 진 증오 명령 줄, 그래서 그는 m2eclipse에를 사용하지만, m2eclipse에이 automaticlly 찾을 스냅 샷을 업데이트하지 않습니다. 로컬 저장소는 최고의 해상도를 보인다에서 resolve-*
파일을 삭제,
TRY 1:
Disable dependency resolution
Enable dependency resolution
(This take maybe 30 minutes, and make eclipse hang, so I don't like. And it seems not work most of time, not download the latest snapshots sometimes)
TRY 2:
Update all dependnecies
Refresh projects
(This take about maybe 5 minutes, but not work some time, not download the latest snapshots sometimes)
TRY 3:
Delete all projects from eclipse workspace
Re-import all projects
(This take maybe 10 minutes, and most "clean" way, though not very fast but okay)
(But not download the latest snapshots sometimes)
TRY 4:
[gin's ubuntu] ~/project4/$ cd ~/.m2/repository/../project3
[gin's ubuntu] ~/.m2/repository/../project3 $ find -name 'resolve-*' -delete
Refresh eclipse projects
(This take about maybe 5 minutes? Well I haven't time it, though.)
(This is the best resolution in my experience, it downloads all snapshots everytime, so it's the final-resolution, well sounds like problem-killer.)
그래서, 내 개인적인 경험을하지만, 그냥 기분이 아니에요 : 나는 노력했다.
명령 줄 호출 과 비교하여 모든 IDE가 빠름 .. 올바른 방법으로 Maven을 관리하지 못했을 수 있습니까?
Eclipse/Idea stuff IDE에서 Maven을 올바르게 사용하기위한 최상의 워크 플로우에 대해 알고 싶습니다.
프로젝트가 최종적으로 단일 응용 프로그램입니까, 아니면 응용 프로그램의 일부일 수 있습니까? – khmarbaise
m2eclipse는 Eclipse 용 플러그인이며 IntelliJ 용 플러그인이 아닙니다 ... IntelliJ는 m2eclipse가없는 Maven을 지원합니다. – khmarbaise
글쎄, 이클립스와 아이디어가 팀에서 사용되기 때문에'm2eclipse'와'Maven in Idea'를 모두 의미합니다. 마지막에는 도서관과 응용 프로그램 및 웹 응용 프로그램이 있습니다. –