是否可以在构建的特定阶段包含依赖项?

时间:2012-09-05 14:13:55

标签: java maven jar maven-3

我目前正在使用maven-jar-plugin从特定的类文件夹构建一个JAR,我将其作为提供的作用域依赖项包含在内。我现在需要在最终构建中包含此JAR作为依赖项。

那么,是否可以在构建的特定阶段包含依赖项?

注意:依赖项是在构建过程中构建的,因此它仅在编译阶段可用。

2 个答案:

答案 0 :(得分:3)

解决这个问题的最简单方法是将您正在构建的代码与maven-jar-plugin分离到一个单独的Maven项目中,并将其称为主Maven项目中的普通依赖项。

这样你就不需要让一个Maven构建产生两个不同的工件(你正在生成的JAR,然后是主输出减去JAR的类),同时让第一个输出引用第二

或者,假设您的主项目的包类型设置为jar,您只需将“特定类文件夹”类添加到项目的<resources>元素,然后配置/覆盖{{1在maven-jar-plugin阶段to exclude these classes期间运行的执行,以及package中的<excludes>元素。

答案 1 :(得分:0)

您可以配置files included in the generated jar

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.4</version>
    <configuration>
      <includes>
        <include>relative_path_to_your_jar</include>
        <include>**/**</include> 
      </includes>
    </configuration>
  </plugin>

http://maven.apache.org/plugins/maven-jar-plugin/jar-mojo.html#includes