1

我在 Karaf 中看到了两种不同的语法来添加 repo,例如,

features:addurl mvn:org.apache.camel/camel-example-osgi/2.10.0/
xml/features
features:addurl mvn:org.apache.camel/camel-example-osgi/2.10.0/
xml

有人可以解释两者之间的区别吗?我相信他们都指的是一个features文件,但他们在不同的位置?

4

1 回答 1

4

功能:addurl mvn:org.apache.camel/camel-example-osgi/2.10.0/xml

实际上对我不起作用。但我认为可以分解正在发生的事情。

mvn:org.apache.camel/camel-example-osgi/2.10.0 是一个带有隐式“类型”和“分类器”的 maven URl。默认情况下,类型为“jar”,分类器为空。因此它解析为一个名为 camel-example-osgi-2.10.0.jar 的文件。(artifactId-version[-classifier].type)

在这种情况下:

mvn:org.apache.camel/camel-example-osgi/2.10.0/xml 是一种“xml”,没有分类器。这将解析为一个名为 camel-example-osgi-2.10.0.xml 的文件,该文件不存在。

mvn:org.apache.camel/camel-example-osgi/2.10.0/xml/features 是 'xml' 的一种类型和 'features' 的分类器。然后,这会解析为一个名为 camel-example-osgi-2.10.0-features.xml 的文件。我们可以在服务器上查看,发现这个文件存在:http ://repo1.maven.org/maven2/org/apache/camel/camel-example-osgi/2.10.0/

我找不到很好的文档,但“分类器”将 -$classifier 添加到文件名中。这就是一些 maven 工件在它们上具有 -jdkN 和 -jdkM 或 -jdbc4 或 -jdbc3 的分类器的方式。

参考资料:https ://ops4j1.jira.com/wiki/display/paxurl/Mvn+Protocol http://maven.apache.org/pom.html#POM_Relationships

于 2013-07-17T14:05:14.527 回答