SkinnyWars导入冲突的快照

时间:2017-08-14 03:39:43

标签: maven maven-ear-plugin

我正在使用maven-ear-plugin构建一个带有瘦弱战争的耳朵文件。

我正在与另一个提供每日快照的团队合作我是什么样的人 如果我没有在本地构建快照,则获取是

ear文件包含每日构建(很好)和war文件 有我最近的快照(这不好)。

e.g。耳朵文件将有 imported1-2017-010101.jar 战争文件将有 imported1-SNAPSHOT.jar

似乎这种情况正在发生,因为每日构建的名称中都有一个日期戳,而快照则没有。

如果我在构建ear文件之前构建导入库的快照。 例如耳朵文件将有 imported1-SNAPSHOT.jar 并且war文件没有库。

这是耳朵配置

<profile>
  <id>skinny</id>
  <activation>
    <property>
      <name>!skinny</name>
    </property>
  </activation>
  <dependencies>
    <dependency>
      <groupId>my.library</groupId>
      <artifactId>war-1</artifactId>
      <type>pom</type>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>my.library</groupId>
      <artifactId>war-2</artifactId>
      <type>pom</type>
      <version>${project.version}</version>
    </dependency>

  </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <configuration>
          <defaultLibBundleDir>/lib</defaultLibBundleDir>
          <skinnyWars>true</skinnyWars>
        </configuration>
      </plugin>
    </plugins>
  </build>
</profile>

我有什么问题或插件在这种情况下不起作用吗?

1 个答案:

答案 0 :(得分:1)

我通过查看我的Maven资源库快照行为解决了这个问题。

我正在使用Artifactory作为maven Repository。它允许您选择3种不同的行为来命名您的快照,其中一个使用时间戳,其他使用-SNAPSHOT,其他行为接受部署者选择的名称。

我已将我的快照行为更改为-SNAPSHOT,从存储库中删除了旧版本的快照(我不知道这是否真的有必要),现在可以正确创建skinnyWars。

[]的