2009-10-15 4 views
15

Maven bookMaven Assembly Plugin's homepage 모두 사용자 정의 어셈블리 설명자를 작성하는 방법을 설명하는 동안 명백한 내용이 누락되었거나 해당 파일의 위치에 대해 아무 것도 말하지 않습니다. 그것은 내 프로젝트의 일부입니까? 중앙 Maven 설정 디렉토리에 들어가 있습니까? 어딘가에서 그 위치를 지정해야합니까?Maven 어셈블리 플러그인에 대한 사용자 지정 어셈블리 설명자를 어디에 넣어야합니까?

답변

12

예, 위치를 지정해야합니다. 사실

<project> 
    [...] 
    <build> 
    [...] 
    <plugins> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      <descriptors> 
      <descriptor>src/main/assembly/src.xml</descriptor> 
      </descriptors> 
     </configuration> 
     [...] 
</project> 

, 나는 위치로 src/main/assembly을 사용하는 것이 좋습니다 것 다음 Configuration and Usage 페이지에 따르면이 이런 식으로 이루어집니다.

+3

감사합니다, 해당 문서 페이지를 가리키는 링크도 있습니다. 나는 당신이 게시 한 같은 시간에 그것을 알아낼 수 있었지만,이 정보가 어셈블리 설명자를 작성하는 방법을 찾는 곳에서 바로 혼란 스럽다고 생각합니다. –

+0

작동하지 않습니다. http://stackoverflow.com/questions/2463721/maven-assembly-error-reading-assemblies/2464350#2464350을 참조하십시오. –

1

다소 둥근 방식으로, 나는 결국 알아낼 수 있었다. 첫째, 어셈블리 설명자를 간접적으로 공유하는 것에 대한 this page은 몇 가지 힌트를 제공합니다.

내 실수로 내 플러그인 구성에 descriptor 대신 descriptorRef을 사용했습니다. 퍼팅, 그래서

[INFO] Searching for file location: /path/to/project/dependency-collection.xml

[INFO] File: /path/to/project/dependency-collection.xml does not exist.

: 그 고정하고, 위의 링크 된 페이지에 표시된 디렉토리 구조를 만들 때, 나는 플러그인은 당신이 준 기술자의 이름을 확인하려고하는 방법을 보여 일련의 오류 메시지가 있어요 프로젝트의 루트 작업을해야합니다에 ...

[INFO] Invalid artifact specification: 'dependency-collection.xml'. Must contain at least three fields, separated by ':'.

... 또는 메이븐 이슈에서로드 ...

[INFO] Failed to resolve classpath resource: /assemblies/dependency-collection.xml from classloader: ClassRealm[/plugins/org.apache.maven.plugins:maven-assembly-plugin:[email protected]/thread:main, parent: ClassRealm[plexus.core, parent: null]]

[INFO] Failed to resolve classpath resource: dependency-collection.xml from classloader: ClassRealm[/plugins/org.apache.maven.plugins:maven-assembly-plugin:[email protected]/thread:main, parent: ClassRealm[plexus.core, parent: null]]

... 또는 플러그인의 클래스 경로에 퍼팅 (I 맞춰봐. 여기에 미리 정의 된 설명자가 있습니다) ...

[INFO] Building URL from location: dependency-collection.xml

Error: java.net.MalformedURLException: no protocol: dependency-collection.xml

... 또는 URL에서로드하십시오.

니스,하지만 이것은 실제로 어딘가에서 문서화되어야한다고 생각합니다. 난 단지 epom.xml 옆에 설명자 파일을 두었고 효과가 있었다. 아마 웹을 검색하기 전에 그것을 시도해 볼 수 있었을 것입니다 ...

관련 문제