2011-05-10 19 views
2

我有超过500个源文件的源文件夹。 我需要从这个来源生产4个罐子。 但有一个问题,当我尝试编译我的第一个jar所需的源文件时,他们不想编译,因为需要编译我的特定源文件的所有源文件。Maven编译所有源文件,但仅包含在jar中,其中只有少数几个文件

这里是一个问题:如果我用maven编译一次我的所有500个源文件,我可以如何将它们分成几个JAR文件?我不需要我所有的4个jar都包含所有500个源代码,每个JAR文件只能包含他们特定的.class文件...

使用ant很简单,只需编译所有源代码,然后创建JAR只是将指定的.class文件包含到jar中,并且没有问题......在MAVEN中可以做些类似的事情吗?

回答

4

你应该在多个相互依赖的java项目中分割你的源代码。

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

+0

劈裂源代码一个糟糕的主意,在这个项目中,我只有500个,但是下一个项目包括超过1200+并且用手分开它们是个坏主意 – Michael 2011-05-10 05:49:33

+1

也许你可以解释为什么你需要4个罐子,为什么一个罐子项目不是一个很好的选择...?因为这是一种非常标准的拆分源代码的方式。 – Tristan 2011-05-10 09:55:03

+0

+1表示这被分割成可以被共享的合适的较小模块 – 2011-05-10 19:41:04

1

我真的推荐去Tristans的解决方案,但你也应该通过配置maven-jar-plugin来排除/包含你不需要的内容来实现你想要的。这被描述为here(参见如何包括/排除jar制品的内容?)。因为你只能用一个pom.xml来创建一个工件(一般情况下),你必须准备好几个pom(或者你也可以尝试在maven-jar-plugin Usage页面上描述的<classifier>配置(我从来没有使用它但是它煤层帮你做你想要的)。

1

,你应该把这个jar项目拆分成多模块JAR项目,这将解决你的问题和项目结构会更好。

相关问题