2010-04-23 2 views
0

최대 절전 모드 확장 관련 Maven 사용 가능 프로젝트에 대한 빌드 오류가 나타납니다. - 그것은 매우 기본적인 응용 프로그램, 그리고 나는 수동으로 몇 가지 필요한 아티팩트를 설치하여 내 리눅스 박스에서이 문제를 해결할 수 있었다 : 밖으로 일Windows 용 최대 절전 모드에서 Maven 빌드 문제

mvn install:install-file -DgroupId=javassist -DartifactId=javassist 
-Dversion=3.9.0 -Dpackaging=jar -Dfile=foo.jar 

(필수 deps의 집합으로 최대 절전 모드).

하지만 Windows의 경우에는 상황이 다릅니다. 의존성을 Windows의 Maven에 수동으로 어떻게 추가합니까?

1) org.hibernate:hibernate:jar:3.3.2 

     Try downloading the file manually from the project website. 

     Then, install it using the command: 
      mvn install:install-file -DgroupId=org.hibernate -DartifactId=hibernate -Dversion=3.3.2 
-Dpackaging=jar -Dfile=/path/to/file 

    2) javassist:javassist:jar:3.9.0 

Windows 컴퓨터에서이 동료가 수동으로 설치하는 번거로운 수동 설치를 자동화 할 수 있습니까? 이러한 작업을 수행 할 수있는 유용한 도구 또는 GUI가 있습니까? Maven이 모든 것을 자동으로 수행하는 가장 좋은 방법입니다. 나는 그것에 익숙하지 않다 제트기.

답변 해 주셔서 감사합니다.

답변

1

첫째, Linux 상자에서했던 것과 똑같은 방법으로 Windows의 로컬 Maven 저장소에 아티팩트를 수동으로 설치할 수 있습니다.

이상하게도, 당신이 말한대로, 메이븐 (Maven)은 당신을 위해 열심히 노력할 것입니다. 일반적으로 수동으로 항아리를 설치할 필요는 없습니다. 대부분의 라이브러리에서 Maven은 각 항아리의 종속성을 알 수 있습니다. 기본적으로 Maven은 the central repository 및 기타 몇 가지를 검사합니다. 다음과 같이 그냥 당신의 POM에 추가, 다른 저장소에 항아리에 액세스하려면 :

<project> 
     ... 
     <repositories> 
      <repository> 
       <id>jboss.maven2.repo</id> 
       <name>JBoss Maven Repo</name> 
       <url>http://repository.jboss.com/maven2</url> 
      </repository> 
      <!-- other repositories here --> 
     </repositories> 
     ... 
    </project> 

위에서 언급 한 제이보스의 repo를 추가하는 것이 하나입니다. 그것은 위에서 언급 한 동면 버전 용 항아리를 포함하여 많은 일반적인 항아리가 있습니다. 이처럼 pom.xml 파일에 참조 :이 종속성을 추가 한

<dependencies> 
    <!-- ... --> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.3.2.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.4.0.GA</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>3.3.0.ga</version> 
    </dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>3.4.0.GA</version> 
    </dependency> 
</dependencies> 

, 메이븐은 또한 (당신의 예에서와 Javassist 라이브러리 포함) 등이 라이브러리가 의존 라이브러리를 다운로드합니다. 다른 답변에서 언급 한 바와 같이 다른 저장소에 존재하지 않는 프로젝트에 설치할 수있는 타사 라이브러리의 많은 경우

마지막으로, 당신은 Nexus, Artifactory, 또는 Archiva 같은 저장소 관리자를 설치 할 수 있습니다 웹 기반 인터페이스를 통해 언급 한 설치 명령을 수행 할 수 있습니다.

+0

최대 절전 모드에 대한 올바른 종속성이 아닙니다. 여기에 언급 된 것은 최대 절전 모드입니다. –

+0

좋은 지적 :) : 업데이트 됨. 새 버전이 테스트되었습니다. 수정 해줘서 고마워. – Daniel

1
  1. 당신은뿐만 아니라 로컬 저장소에 종속성을 설치하려면 Windows 시스템에서 mvn install:install-file을 사용할 수 있습니다
  2. 당신은 당신은 단지 중앙에 의존하지 않는 귀하의 settings.xml가 추가 저장소 거울을 추가 변경할 수 있습니다. jboss, java.net 등을 확인하십시오. 미러링을 처리하고 팀의 아티팩트 등을 저장하기 위해 자신 만의 저장소 관리자 (예 : Nexus)를 설정할 수도 있습니다. 그런 다음 각 개발자 시스템을 저장소에 지정하십시오.

자세한 내용은 Repository Management with NexusReasons to use a Repository Manager을 참조하십시오.

1

필자는 수동으로 필요한 아티팩트를 설치하여 Linux에서이 문제를 해결할 수있었습니다 (...)

수동으로 이슈를 설치하는 것은 나쁜 습관입니다 (경험에 따라 사용자의 이식이 불가능 함). 실제로 찾고있는 이슈를 설치할 이유가 없습니다. 둘 다 JBoss repository에서 사용할 수 있습니다.

<project> 
    ... 
    <repositories> 
    <repository> 
     <id>repository.jboss.org</id> 
     <name>Jboss Repository for Maven</name> 
     <url>http://repository.jboss.org/maven2</url> 
    </repository> 
    </repositories> 
    ... 
</project> 

을하고 다음 종속성을 선언 : 그래서, "선언"저장소의 목록에 추가

<dependencies> 
    <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-core</artifactId> 
    <version>3.3.2.GA</version> 
    </dependency> 
    <dependency> 
    <groupId>javassist</groupId> 
    <artifactId>javassist</artifactId> 
    <version>3.9.0.GA</version> 
    </dependency> 
</dependencies> 

주에게 의존성을 hibernate-core에 (http://repository.jboss.org/maven2/org/hibernate/hibernate/3.3.2.GA/ 만 치어를 포함).

관련 문제