2014-04-11 22 views
0

目前,我正在开发的项目中包含Web服务的所有代码,并且正在创建一个war和一个jar文件。Maven Source Plugin - 我如何生成只包含我想要包含的类的源代码库

Jar文件只包含其他项目共享的类的最低限度。
我没有选择在此时将共享类拆分为单独的核心项目。 (虽然我宁愿)

我试图把只将必要的java文件与源JAR:

Common_Model-1.1.2.jar 
Common_Model-1.1.2.jar-sources 

我在我的POM是这样的:

<plugin> 
    <artifactId>maven-jar-plugin</artifactId> 
    <version>2.3.2</version> 
    <executions> 
     <execution> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
     <configuration> 
      <includes> 
      <include>gov/app/api/common/models/**</include> 
      <include>gov/app/api/intra/models/**</include> 
      <include>gov/app/api/models/**</include> 
      </includes> 
      <finalName>Common_Model-1.1.2</finalName> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 
<plugin> 
    <artifactId>maven-source-plugin</artifactId> 
    <executions> 
     <execution> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
     <configuration> 
      <includes> 
      <include>gov/app/api/common/models/**</include> 
      <include>gov/app/api/intra/models/**</include> 
      <include>gov/app/api/models/**</include> 
      </includes> 
      <finalName>Common_Model-1.1.2</finalName> 
     </configuration> 
     </execution> 
    </executions> 
</plugin> 

虽然这确实会创建sources jar,但它会忽略包含配置并添加整个项目中的所有.java文件。

我也尝试过使用<excludes>,但这也被忽略。

回答

0

我在我的项目尝试这样做:

<include>com/sandbox/**/Permutations*</include> 

,所得Common_Model-1.1.2-sources.jar只有这一个文件,任命Permutations.java当我试图

<include>com/sandbox/Permutations*</include> 
<include>com/sandbox/Sandbox*</include> 

该jar只有这两个文件。所以你有什么应该工作。我怀疑你的模式太宽泛了。

+0

我在maven-jar-plugin中使用了相同的模式。它在那里工作,但不在maven-source-plugin中。 – ScrappyDev

+0

我也试过更具体,并使用相对于Project文件夹的路径无济于事。 – ScrappyDev

相关问题