0

我想在我的项目中使用 Apache Camel 2.14.0,特别是使用 Quickfixj 组件。但是,我想对 camel-quickfix 组件进行一些更改,并将这些更改部署到我们本地的 Nexus 存储库以供使用。这些更改将满足我们正在寻找 FIX 引擎的某些功能。

但是,我的问题是,在 {local-git-repo}/camel/components/camel-quickfix/pom.xml 中,我看到以下内容:

<parent>
  <groupId>org.apache.camel</groupId>
  <artifactId>components</artifactId>
  <version>2.14.0</version>
</parent>

<artifactId>camel-quickfix</artifactId>
<packaging>bundle</packaging>
<name>Camel :: QuickFIX/J</name>
<description>Camel QuickFIX/J support</description>

通常,我会做的是将版本更改为 2.14.1,然后构建并部署到我们本地的 nexus 存储库,这样我们就可以在本地项目中重用修改后的组件。但是,有了这个,它似乎是指父pom。

我怎么能去修改这个组件,但仍然让它引用骆驼核心 2.14.0 版本及其依赖项?

或者我可以将它构建为 2.14.0,并希望当我的 maven 项目运行时,它会从我的第三方存储库中获取工件,而不是从 apache 镜像中获取工件?

如果您是 Maven 专家,请提供帮助:)

4

1 回答 1

1

明智的做法是避免构建不同的版本2.14.0并希望 maven 从您的本地 repo 中提取正确的版本(在最好的情况下,这可能会做一些很奇怪的事情)。

同样,我也会避免未来的官方版本控制(2.14.1等)。

如果您不能或不愿意通过 Apache 项目将您的更改贡献给核心构建,为什么不构建一个本地版本,例如2.14.0-CUSTOM-1.0

version 属性2.14.0-CUSTOM-1.0清楚地表明这将是 2.14.0 上的自定义构建后代,最后加上您自己的版本控制。

<parent>
  <groupId>org.apache.camel</groupId>
  <artifactId>components</artifactId>
  <version>2.14.0</version>
</parent>

<artifactId>camel-quickfix</artifactId>
<version>2.14.0-CUSTOM-1.0</version>
<packaging>bundle</packaging>
<name>Camel :: QuickFIX/J</name>
<description>Camel QuickFIX/J support</description>

(记得在你的 中使用正确的版本features.xml

于 2015-02-03T11:24:28.010 回答