我的项目使用了很多程序集,因此我只对程序集感兴趣。 在执行mvn install与assembly之外,我得到默认的打包.jar。 我该如何避免这种情况?Maven-2:避免默认打包?
我有一个类似于你所提供的pom.xml。 上执行MVN安装,我越来越App1.jar,App2.jar,以及包含快照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>
我怎样才能避免这种快照(不知道确切的术语)的容器,并确保只有组件创建?
嗨 感谢您的inputs.i不认为我能够创建单独的模块说App1,App2..bcoz我的程序集罐子,即App1.jar,App2.jar有共同的文件被包括在内。 如果我将packagins指定为'pom',MyApp-1.0.0 jar将不会被创建? – user170114 2009-09-16 11:22:10
那么,那些常见的文件将被放置在第三个位置,或者在它们自己的组件中被解压到每个模块中,或者被放在父模块中并且被每个孩子引用(不那么干净)。标记你的父模块一个“POM”不会创建JAR,但是,你仍然会违反Maven的原则而没有按照我的建议去做。搜索“Maven:权威指南” - 一本关于Maven的免费书籍。 – SingleShot 2009-09-16 16:30:22
谢谢..我想我需要去选择将这些常用软件包放入父母并从孩子访问。 在这种情况下,我应该在哪里保留我的程序集描述符?在父/子程序集下?如何指向父文件夹..我不能使用-project.build.outputDirectory对吗? – user170114 2009-09-17 05:51:02