В моем проекте используется много сборок, поэтому меня интересуют только сборки. Выполняя установку mvn отдельно от сборок, я получаю стандартную упаковку .jar. Как я могу избежать этого?Maven-2: избегать упаковки по умолчанию?
У меня есть pom.xml, похожий на тот, который вы предоставили. Исполняя МВН установить, я получаю App1.jar, App2.jar, и снимок банка, содержащий все содержимое
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2-beta-2</version>
<executions>
<execution>
<id>assemblyone</id>
<phase>compile</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>App1</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/main/resources/assemblies/report.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>assemblytwo</id>
<phase>compile</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>App2</finalName>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/src/main/resources/assemblies/src.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
Как я могу избежать этого снимка (не уверен, что точный срок) банку и гарантировать, что только сборки создаются?
Привет Спасибо за вход. Я не думаю, что смогу создать отдельные модули, скажем, App1, App2..bcoz, мои сборные банки, а именно App1.jar, App2.jar имеют общие файлы для включения. Если я укажу пачки как «pom», банку MyApp-1.0.0 не будет создан? – user170114
Ну, эти общие файлы будут помещены в третье место, либо в их собственную сборку, которая распаковывается в каждый модуль, либо (менее чистая) в родительском модуле и ссылается на каждый дочерний объект. Маркировка родительского модуля «pom» не создаст JAR, однако вы все равно будете нарушать принципы Maven, не делая того, что я предлагаю. Поиск на «Maven: The Definitive Guide» - очень хорошая бесплатная книга о Maven. – SingleShot
Спасибо .. Хорошо, я думаю, мне нужно пойти на возможность размещения этих общих пакетов в родительском и доступном от ребенка. В этом случае, где я должен хранить свои дескрипторы сборки под сборками parent/child? Как указать на папки родителя. Я не могу использовать -project.build.outputDirectory правильно? – user170114