Quickfixj 设置开发源 - 找不到工件 org.quickfixj:quickfixj-codegenerator

Quickfixj setting up sources for development - Could not find artifact org.quickfixj:quickfixj-codegenerator

我无法将 QuickFIX/J 项目成功导入到我的任何 IDE 中,我已经尝试使用 Eclipse、VS Code 和 IntelliJ。

按照 QuickFIX/J 项目说明,首先我构建项目:

$ mvn clean package -Dmaven.javadoc.skip=true -DskipTests -PskipBundlePlugin

构建中一切顺利:

[INFO] Building zip: /home/helesto/kdi/github/quickfixj/quickfixj-distribution/target/org.quickfixj-2.2.1-SNAPSHOT-bin.zip
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for QuickFIX/J Parent 2.2.1-SNAPSHOT:
[INFO] 
[INFO] QuickFIX/J Parent .................................. SUCCESS [  4.654 s]
[INFO] QuickFIX/J Code Generator Maven Plugin ............. SUCCESS [ 28.844 s]
[INFO] QuickFIX/J Dictionary Generator .................... SUCCESS [  1.178 s]
[INFO] QuickFIX/J Core engine ............................. SUCCESS [06:51 min]
[INFO] QuickFIX/J Message classes for various FIX specs ... SUCCESS [  0.003 s]
[INFO] QuickFIX/J Message classes for FIX 4.0 ............. SUCCESS [  1.028 s]
[INFO] QuickFIX/J Message classes for FIX 4.1 ............. SUCCESS [  0.835 s]
[INFO] QuickFIX/J Message classes for FIX 4.2 ............. SUCCESS [  0.874 s]
[INFO] QuickFIX/J Message classes for FIX 4.3 ............. SUCCESS [  0.839 s]
[INFO] QuickFIX/J Message classes for FIX 4.4 ............. SUCCESS [  1.082 s]
[INFO] QuickFIX/J Message classes for FIX 5.0 ............. SUCCESS [  1.349 s]
[INFO] QuickFIX/J Message classes for FIX 5.0 SP1 ......... SUCCESS [  1.283 s]
[INFO] QuickFIX/J Message classes for FIX 5.0 SP2 ......... SUCCESS [  1.215 s]
[INFO] QuickFIX/J Message classes for FIXT 1.1 ............ SUCCESS [  0.710 s]
[INFO] QuickFIX/J Message classes for all FIX specs ....... SUCCESS [  2.294 s]
[INFO] QuickFIX/J Examples ................................ SUCCESS [  0.004 s]
[INFO] QuickFIX/J Examples - Executor ..................... SUCCESS [  7.030 s]
[INFO] QuickFIX/J Examples - Order Match .................. SUCCESS [  4.830 s]
[INFO] QuickFIX/J Examples - Banzai ....................... SUCCESS [  5.036 s]
[INFO] QuickFIX/J All runtime modules ..................... SUCCESS [ 18.797 s]
[INFO] QuickFIX/J Distribution ............................ SUCCESS [ 16.725 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  08:31 min
[INFO] Finished at: 2021-01-15T19:11:18-03:00
[INFO] ------------------------------------------------------------------------

然后我尝试将它导入到 IDE 中,但 quickfixj-codegenerator 出了点问题。

我尝试了一些在互联网上找到的方法,但没有解决我的问题。

如果有人能帮助我,我会很高兴:)

我的机器

行家

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /kdi/maven
Java version: 11.0.9.1, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.8.0-36-generic", arch: "amd64", family: "unix"

Java

openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04)
OpenJDK 64-Bit Server VM (build 11.0.9.1+1-Ubuntu-0ubuntu1.20.04, mixed mode, sharing)
javac 11.0.9.1

OS

Linux machine 5.8.0-36-generic #40~20.04.1-Ubuntu SMP Wed Jan 6 10:15:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

QuickFIX/J 构建说明

https://www.quickfixj.org/usermanual/2.1.0/installation.html#dependencies 我发现:

IDE support: There are Eclipse and Netbeans project definition files in the top-level directory of the checked out directory. When the project is first created, it will not have the generated message classes and compile errors will occur! Best is to compile once on the command line before importing the project into the IDE.

我搜索了项目文档,没有找到任何关于这个问题的信息。

Eclipse - 错误

版本:2020-12 (4.18.0)

导入项目报如下错误:

No marketplace entries found to handle maven-plugin-plugin:3.2:descriptor in Eclipse.  Please see Help for more information.
No marketplace entries found to handle Execution default-descriptor, in /quickfixj-codegenerator/pom.xml in Eclipse.  Please see Help for more information

导入后,/quickfixj-codegenerator/pom.xml 表示:

Plugin execution not covered by lifecycle configuration: org.apache.maven.plugins:maven-plugin-plugin:3.2:descriptor (execution: default-descriptor, phase: process-classes)

VS 代码 - 错误

版本 1.52.1

错误:

Could not find artifact org.quickfixj:quickfixj-codegenerator:jar:2.2.1-SNAPSHOT

IntelliJ - 错误

版本社区 2020.3.2

错误:

Cannot resolve plugin org.quickfixj:quickfixj-codegenerator:2.2.1-SNAPSHOT
Cannot resolve plugin org.apache.maven.plugins:maven-install-plugin:<unknown>

QuickFIX/J 电子邮件支持 - 与我的问题相同

在 Quickfixj 的支持讨论邮件中报告了同样的问题:

在电子邮件线程中,我没有找到这个问题的答案。

问题是在 2019 年 3 月报告的。对我来说唯一的区别是 Quick/FIXJ 现在是更新版本。

引用邮件同样的问题:

I'm trying to create a development environment for quickfixj on eclipse. I cloned the repository, downloaded the sources, and ran the command:

mvn clean package -Dmaven.javadoc.skip=true -DskipTests -PskipBundlePlugin

just as suggested on the website. This part worked without any errors.

Afterwards, I try to import the projects in eclipse. The projects are identified as maven projects and added to the workspace, but when compiling, after the import, it shows the error: Could not find artifact org.quickfixj:quickfixj-codegenerator:jar:2.2.0-SNAPSHOT Which does not allow quickfixj-core to build, which in turn does not allow any other projects to compile, since they all depend on the core project.

I have tried a suggestion I found on the net, to run mvn eclipse:eclipse to help build the eclipse projects but by the time it reaches the core engine project, it throws the same error: [ERROR] Plugin org.quickfixj:quickfixj-codegenerator:2.2.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact org.quickfixj:quickfixj-codegenerator:jar:2.2.0-SNAPSHOT -> [Help 1]

在@ChristophJohn 的帮助下,我能够成功地将项目导入 IntelliJNetbeans

首先,运行:

mvn clean install -Dmaven.javadoc.skip=true -DskipTests -PskipBundlePlugin

然后只需将其导入 IntelliJNetbeans

我无法将其导入 Eclipse 或 VS Code。但是,因为这适用于 IntelliJNetbeans,对我来说就足够了。