我是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)添加到目标定义而没有另一个时,一切似乎都没问题。