如何创建自己的 Apache Camel Quickfixj 组件分支?

How do I create my own fork of Apache Camel Quickfixj component?

我想在我的项目中使用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.

我怎么能着手修改这个组件,但仍然引用 camel-core 2.14.0 版本及其依赖项?

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

如果你是专家,请帮忙:)

明智的做法是避免构建 2.14.0 的不同版本,并希望 maven 从您的本地存储库中提取正确的版本(在最好的时候它可以做一些明显奇怪的事情)。

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

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

版本属性 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 中使用正确的版本)