2012-03-14 2 views
0

При использовании плагина сборки кажется, что должно быть обнаружено свойство, например $ {assembly.directory}, с помощью которого вы можете ссылаться на выходной каталог сборки. По каталогу выходных данных сборки я имею в виду каталог, в который плагин сборки помещает сборку, которую он создает для вас; в моем случае я создаю сборку типа «dir», поэтому выходной каталог является самой сборкой. В моем использовании сборки плагина, то «выходной узел каталога» оказывается что-то вроде:Свойство для ссылки на каталог сборки?

${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version} 

Но это, очевидно, своего рода неприятной вещи, чтобы написать во всех местах, мне нужно ссылаться на место сборки. Я предпочел бы что-то вроде

${project.assembly.outputDirectory} 

Вот мой сборки плагин конфигурации:

<plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-assembly-plugin</artifactId> 
       <version>2.2-beta-5</version> 
       <executions> 
        <execution> 
         <id>assemble-myStuff</id> 
         <phase>package</phase> 
         <goals> 
          <goal>single</goal> 
         </goals> 
         <configuration> 
          <appendAssemblyId>false</appendAssemblyId> 
          <descriptors> 
           <descriptor>src/main/assemble/myAssembly.xml</descriptor> 
          </descriptors> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 
+0

Что вы подразумеваете под "монтажным каталогом"? Вы имеете в виду каталог, в котором по умолчанию будут сохранены результаты или вы имеете в виду каталог, в котором будут найдены дескрипторы? Может быть, вы можете привести пример pom, который лучше описывает вашу проблему? – khmarbaise

+0

@khmarbaise Там вы идете;) – chad

+0

Я не уверен, что я понимаю вас правильно, но это похоже на дескрипторы сборки, что вам нужно или может быть дескрипторами компонентов ... но проблема в том, почему вам нужно определить каталог в сюда. ? Может быть, вы можете дать pom, который определяет, что вам нравится в качестве примера ... BTW: у maven-assembly-plugin есть более новая версия 2.3. – khmarbaise

ответ

0

Но это, очевидно, своего рода неприятную вещь, чтобы написать во всех местах, мне нужно сослаться на сборку вывода.

Правда, но я не думаю, что плагин предоставит его вам. У меня был подобный вопрос и решить его таким образом (не идеальный, но эй):

<properties> 
    <myAssemblyOutput>${project.build.directory}/${artifactId}-${project.version}/${artifactId}-${project.version}</myAssemblyOutput> 
</properties> 

и использовать $ {myAssemblyOutput} во всем.

+0

Я подозревал, что это лучшее, что я мог сделать. Я просто задавался вопросом, могут ли быть недокументированные свойства, выставленные mojo каким-то образом. – chad

Смежные вопросы