2011-10-08 4 views
2

저는 Maven 초보자입니다. Maven을 1 주일 동안 공부 했으므로 Ant를 5 년 동안 사용해 본 경험이 있습니다. 문제없이 속도를 낼 수 있습니다. maven.apache.org의 모든 문서를 두 번 읽었습니다. 수백 페이지의 독서를했습니다. 필자는 설명서를 읽었을 때 여러 가지 Maven 아키 타입을 사용하여 여러 가지 테스트 응용 프로그램을 만들어 내 이해를 돕고 자했습니다. 자, 새 프로젝트를 세우고 있고 더 세밀한 포인트가 생겨나 고 있습니다 ...maven-compiler-plugin은 2.0.2.SP1에서 2.3.2로 업그레이드하지 않습니다.

왜 maven-compiler-plugin이 최신 릴리즈 2.3.2로 업그레이드되지 않는지 알 것 같아요. 나는 달린다

mvn versions:use-latest-release 

그러나 내가 회피가 있는지, 또는 내가 염려해야하는지 알고 싶다. 첫째, 다음은 pom.xml의 요약입니다.

 <plugin> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.3.2</version> 
      <configuration> 
       <source>1.5</source> 
       <target>1.5</target> 
      </configuration> 
     </plugin> 

알다시피, 버전 2.3.2를 지정하고 있습니다. 메이븐이 저장소에있는 파일을 업데이트해야한다는 것을 모른다고 생각하고있을 때, mvn 버전을 실행했다 : use-latest-releases jar 파일이 ~/.m2/repository/org/apache /로 다운로드되었음을 확인했다. 받는다는/플러그인/받는다는-컴파일러 플러그인/즉

ll ~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2 
total 60 
-rw-rw-r--. 1 pgarner pgarner 29176 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar 
-rw-rw-r--. 1 pgarner pgarner 335 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar.lastUpdated 
-rw-rw-r--. 1 pgarner pgarner 40 Oct 7 21:29 maven-compiler-plugin-2.3.2.jar.sha1 
-rw-rw-r--. 1 pgarner pgarner 7329 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom 
-rw-rw-r--. 1 pgarner pgarner 335 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom.lastUpdated 
-rw-rw-r--. 1 pgarner pgarner 40 Oct 7 21:29 maven-compiler-plugin-2.3.2.pom.sha1 
-rw-rw-r--. 1 pgarner pgarner 208 Oct 7 21:29 _maven.repositories 

하지만 실행시는 받는다는 - 컴파일러 플러그인 버전이 남아 있음을 분명했다 다음 2.0.2.SP1 등 :

mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compiler-plugin 
/usr/java/jdk1.7.0 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building RichFaces 4 Application 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- maven-help-plugin:2.1.1:describe (default-cli) @ Patrac --- 
[INFO] org.apache.maven.plugins:maven-compiler-plugin:2.0.2.SP1 
Name: Maven Compiler Plugin 
Description: Maven Plugins 
Group Id: org.apache.maven.plugins 
Artifact Id: maven-compiler-plugin 
Version: 2.0.2.SP1 
Goal Prefix: compiler 

richfaces-archetype-simpleapp archetype을 사용하여이 프로젝트를 생성했으며 JBoss 저장소를 프로젝트에 추가해야한다는 것을 알았습니다. 다음으로 생각해 볼 수있는 것은 b 프로젝트가 최신 컴파일러를 사용하지 못하게하는 RichFaces의 무언가.

~/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/maven-metadata-jboss- 공공 저장소 - group.xml

충분히이 있는지, 나는 생각한다, 나는 문제를 발견

<latest>2.4-SNAPSHOT</latest> 
<release>2.0.2.SP1</release> 
<versions> 
    <version>0.1-stub-SNAPSHOT</version> 
    <version>2.0.2.SP1</version> 
    <version>2.3.2-SNAPSHOT</version> 
    <version>2.4-SNAPSHOT</version> 
</versions> 

그래서,이 RichFaces를 받는다는 - 컴파일러 플러그인 버전 2.3와 함께 사용할 수 없음을 의미한다. 2?

최신 프로젝트 인 maven-compiler-plugin을 사용하여이 새로운 프로젝트를 시작하고 싶습니다. 스냅 샷을 사용하지 말고 릴리즈를 고수하고 싶습니다. 필자의 본능은 2.3.2 버전의 항목을 위의 XML 파일 즉 2.3.2에 추가하는 것은 완전히 위험하다고 말합니다. 나 맞아? 아니면 단순히 메이븐 컴파일러 플러그인의 모든 버전을 가지고 있지 않은 JBoss-Maven 저장소의 문제입니까?

내 옵션에는 어떤 것이 있습니까? v. 2.0.2.SP1 사용에 만족해야합니까? 또는 Maven에게 Maven-metadata-jboss-public-repository-group.xml을 무시하도록 요청하거나 Maven에게 JBoss 저장소보다 Maven Central 저장소를 우선적으로 우선적으로 요청할 수 있습니까?

답변

1

당신은 여기 꽤있어, 그래서 나는 시도하고 떨어져을 가지고 내가 할 수있는만큼 답변 해 드리겠습니다 ...

는 내가 알고 있다고 생각하는 이유를 받는다는 - 컴파일러 플러그인 원 실행시 최신 릴리스 2.3.2로 업그레이드하십시오.

아래 스 니펫을 기반으로 정상적으로 작동하는 것 같습니다.방금 컴파일 플러그인 페이지를 확인했고 2.3.2는 사실 최신 버전입니다.

실행할 때 : mvn help:describe -Dplugin=org.apache.maven.plugins:maven-compiler-plugin /usr/java/jdk1.7.0 저는 이것이 기본값이라고 생각합니다. 해당 프로젝트에서 mvn compile을 실행하면 지정한대로 2.3.2를 사용해야합니다.

위의 XML 파일에 버전 2.3.2에 항목을 추가하는 것은 완전히 위험 할 수 있다고합니다. 즉 2.3.2. 이 맞습니까?

는 문제를 찾고하지 않는 한 혼자 메타 데이터 파일을 두거나 정말 당신이 내 옵션은 무엇 :)

무엇을하고 있는지 알아? v. 2.0.2.SP1을 사용하여 만족해야합니까? 또는 Maven에 maven-metadata-jboss-public-repository-group.xml을 무시하도록 요청하거나, Maven 에게 JBoss 저장소를 통해 Maven Central 저장소에 우선 순위를 부여하도록 요청할 수 있습니까?

플러그인의 2.0.2.SP1이 사용되고 있다고 생각하지 않습니다. 그것도 \ 012, 스냅 샷 플러그인을 사용하는 경우은 너무 큰 거래를하지 않습니다 IMO. 종속성의 스냅 샷을 사용할 때는주의가 필요합니다.

어떤 저장소가 무엇을 어떤 순서로 해결 할지를 재정의하는 방법이 있지만이 인스턴스에서 얼마나 도움이 될지 모르겠다.

이 정보가 도움이되기를 바랍니다. -Dplugin = org.apache.maven.plugins를 설명 : 제가 `MVN 도움말를 실행할 때

+0

받는다는 컴파일러 - plugin' 터미널 출력 플러그인 2.0.2.SP1 사용되고였다. 버전 2.0.2.SP1이 메타 데이터 그 자체 였기 때문에 ' 2.0.2.SP1'을 지정했다고 생각합니다. ' 2.3.2-SNAPSHOT'(위의 저의 원래 게시물을보십시오). Maven의 작동 방식을 더 잘 이해하고 있다고 생각합니다. 당신이 말했듯이, 메타 데이터 만 남겨두고 릴리스로 지정된 플러그인을 사용하십시오. –

관련 문제