2013-01-13 2 views
2

어셈블리 플러그인을 사용하여 사용자 정의 어셈블리 설명자가있는 artifactId killer-app를 사용하여 스윙 응용 프로그램을 패키징합니다.Maven 어셈블리 : 동일한 레벨의 baseDirectory에있는 파일 포함

어셈블리가 잘 작동하고 어셈블리 내부에 /killer-app/ 디렉토리 안에 원하는 것을 포함 할 수 있습니다.

killer-app-archive.zip 
\- killer-app 
    \- whatever ... 

문제는 내가 아카이브 내부의 /killer-app/ 폴더의 동일한 수준에서 다른 파일을 포함해야한다는 것입니다.

killer-app-archive.zip 
\- killer-app 
| \- whatever ... 
\- launch.bat 

I>은

< includeBaseDirectory 놀 거짓 </includeBaseDirectory>

을 시도하고있다 그러나 그것은 단순히 내가 보존해야 /killer-app/ 폴더를 제거합니다. 문제를 해결할 수

답변

8

세 단계 :

  • 변화 baseDirectory 사용 FileSets
  • ../에 여분의 파일을 추가 할 수 있습니다.
  • 사용 DependencySet 프로젝트 이슈 (useProjectArtifact = TRUE)이이 문제를 해결해야

를 추가 할 수 있습니다. 다음은 그 예입니다 :

<?xml version="1.0" encoding="UTF-8"?> 
<assembly 
    xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> 
    <id>my-assembly</id> 
    <baseDirectory>../</baseDirectory> 
    <formats> 
     <format>zip</format> 
    </formats> 
    <includeBaseDirectory>false</includeBaseDirectory> 
    <dependencySets> 
     <dependencySet> 
      <unpack>true</unpack> 
      <useProjectArtifact>true</useProjectArtifact> 
     </dependencySet> 
    </dependencySets> 
    <fileSets> 
     <fileSet> 
      <directory>path/to/resource</directory> 
      <includes> 
       <include>**/*.bat</include> 
      </includes> 
      <outputDirectory>/</outputDirectory> 
     </fileSet> 
    </fileSets> 
</assembly> 
+0

죄송하지만 파일 세트는/killer-app/폴더에 포함되어 있으며 상위 수준에는 포함되어 있지 않습니다. 나는 시도했다 ../ outputdirectory에서 작동하지만 작동하지 않습니다. –

+0

baseDirectory를 '../'으로 설정하는 것은 어떻습니까? – asgoth

+0

업데이트 대답이 조금 – asgoth

관련 문제