Maven编译所有源文件,但只包含其中的几个

时间:2011-05-10 05:36:09

标签: maven

我的源文件夹包含500多个源文件。 我需要从这些来源生产4个罐子。 但是当我尝试编译他们不想编译的第一个jar所需的源代码时有一个问题,因为编译我的特定源代码需要所有源代码。

这就是问题:如果我用maven编译了所有500个源文件,我怎么能将它们分成几个JAR文件?我不需要我所有的4罐都包含所有500个来源,每个JAR必须只包含他们特定的.class文件......

使用ant非常简单,你只需编译一次所有源代码,然后在创建JAR时,只需将指定的.class文件包含到jar中,没有问题......可以在MAVEN中完成类似的事情吗?

3 个答案:

答案 0 :(得分:4)

您应该将源代码拆分为多个相互依赖的java项目。

然后,将每个项目编译成jar。

答案 1 :(得分:1)

我真的建议您使用Tristans解决方案,但您也应该通过配置maven-jar-plugin来排除/包含您(不)想要的内容,从而达到您想要的效果。这是here的描述(参见如何在jar工件中包含/排除内容?)。

由于你只能用一个pom.xml(通常)构建一个工件,你必须准备几个pom(或者你尝试在maven-jar-plugin用法页面上描述的<classifier>配置(我从不使用它,但它接缝,以帮助你做你想要的。)

答案 2 :(得分:1)

您应该将此jar项目拆分为多模块jar项目。这将解决您的问题,项目结构会更好。