2010-10-29 80 views
4

我遇到过这种情况,使用maven打包一个项目时,我喜欢源包和二进制包,它们都有相同的manifest.mf文件。然后,我必须写在Maven的源插件和Maven-JAR-插件,两者插件配置相同的条目是这样的:如何从Maven的pom.xml中删除重复的内容?

 
     <plugins> 
      <plugin> 
       <artifactId>maven-source-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>attach-sources</id> 
         <goals> 
          <goal>jar</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <archive> 
         <manifestEntries> 
          <Artifiact>${project.name}</Artifiact> 
          <Version>${project.version}</Version> 
          <Vendor>${project.organization.name}</Vendor> 
          <Built-By>Shiva Wu</Built-By> 
         </manifestEntries> 
        </archive> 
       </configuration> 
      </plugin> 
      <plugin> 
       <artifactId>maven-jar-plugin</artifactId> 
       <configuration> 
        <archive> 
         <addMavenDescriptor>false</addMavenDescriptor> 
         <manifestEntries> 
          <Artifiact>${project.name}</Artifiact> 
          <Version>${project.version}</Version> 
          <Vendor>${project.organization.name}</Vendor> 
          <Built-By>Shiva Wu</Built-By> 
         </manifestEntries> 
        </archive> 
       </configuration> 
      </plugin> 
     </plugins> 
    


这真的不是方便而更改设置来修改他们两个。有没有更好的方法来解决这个问题?

谢谢:)

回答

0

没有更好的办法来处理它比你在做什么。

虽然有一些额外的东西。您可以将这些配置粘贴到插件管理部分中的可重复使用的“公司”或“标准”父POM中,然后您不必在其他任何pom中再次指定它们。看到这里的细节:

Best way to share portions of a Maven pom.xml across unrelated projects?

我注意到的另一件事是,你个人的名称应与应该从settings.xml文件中设定的变量来代替。这将有助于增加构建的可移植性。