2013-01-25 7 views
5

Laut den Maven Assembly-Plugin-Dokumenten sind relative Verzeichnisse erlaubt, aber ".." scheint überhaupt nicht zu funktionieren.Relative Verzeichnisse scheinen nicht mit Dateigruppen in maven Assembly Deskriptoren zu arbeiten. Irgendeine Möglichkeit, dies zu tun?

Aus Gründen, auf die ich nicht eingehen kann (und ich kann nicht ändern), gibt es einige Dateien außerhalb des Maven-Projektverzeichnisses, das ich in die Assembly aufnehmen möchte.

/- 
---maven-project/ 
---some-crap/ 

habe ich versucht, verschiedene Dinge:

<fileSets> 
    <fileSet> 
     <directory>${project.basedir}/../some-crap</directory> 
     <outputDirectory>crapdir</outputDirectory> 
     <includes> 
      <include>**/*</include> 
     </includes> 
    </fileSet> 
</fileset> 

oder

<fileSets> 
    <fileSet> 
     <directory>${project.basedir}</directory> 
     <outputDirectory>crapdir</outputDirectory> 
     <includes> 
      <include>../some-crap/**/*</include> 
     </includes> 
    </fileSet> 
</fileset> 

oder

<fileSets> 
    <fileSet> 
     <directory>../some-crap</directory> 
     <outputDirectory>crapdir</outputDirectory> 
     <includes> 
      <include>**/*</include> 
     </includes> 
    </fileSet> 
</fileset> 

usw. Meine Maven Version 3.0.4 (spätestens)

Außerhalb von etwas in Ameisen zu schreiben, um dieses Zeug zu holen oder es in mein Zielverzeichnis zu kopieren, bevor ich es zusammensetze, kann ich irgendetwas machen?

Ich glaube wirklich, das Assembly-Plugin behandelt ".." als Verzeichnisname und nicht "eine Ebene höher".

Danke.

+0

try {$ project.basedir} /../../ einige-Mist – sasankad

+0

$ {project.basedir} /../ .. löst nur $ {} project.basedir, leider. – marathon

Antwort

2

Wie wäre es mit maven-antrun-plugin Dateien vor dem Assemblieren in Ihr Projektverzeichnis zu kopieren?

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>prepare-deploy-package</id> 
        <phase>prepare-package</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <tasks> 
          <copy todir="${project.build.directory}"> 
           <fileset dir="../xxxx"> 
           </fileset> 
          </copy> 
         </tasks> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin>