Maven为特定操作系统添加存储库

时间:2018-04-03 00:10:41

标签: maven repository

我是maven的新手,我正在尝试为linux和windows创建一个pom文件。对于依赖项解析,我有2个p2存储库。 1用于Windows,另一个用于linux。 我还有一个目标定义(.target),我在其中添加所有外部存储库以进行依赖性解析。 有没有办法可以为每个操作系统添加/激活存储库位置?以下是我的试用版。

使用maven pom profile:
在这个试验中,我将所有我的存储库(对于windows和linux都很常见)添加到目标定义中。然后我创建了2个新的配置文件并添加了特定于操作系统的p2 repo,如此

<profile>
  <id>Linux</id>
  <activation>
    <activeByDefault>false</activeByDefault>
    <os><name>linux</name></os>
  </activation>
  <repositories>
  <repository>
    <id>p2_lin</id>
    <url>http://example.com/data/LINUX_P2</url>
    <layout>p2</layout>
  </repository>
</repositories>
</profile>
<profile>
  <id>Windows</id>
  <activation>
    <activeByDefault>false</activeByDefault>
    <os><name>win32</name></os>
  </activation>
  <repositories>
  <repository>
    <id>trace_p2_win</id>
    <url>http://example.com/data/WINDOWS_P2</url>
    <layout>p2</layout>
  </repository>
</repositories>
</profile>

在调用maven时,我将此配置文件添加到参数mvn clean install -PWindows,Test

不幸的是,上述配置给出了不满意的依赖性。 但是,当我从父pom文件中删除此部分并将正确的存储库(例如:&gt; http://example.com/data/WINDOWS_P2)添加到目标定义而没有另一个时,一切似乎都没问题。

0 个答案:

没有答案