问题描述
我无法将 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
出现问题。
我尝试了一些我在互联网上找到的东西,但没有解决我的问题。
如果有人能帮助我,我会很高兴:)
我的机器
Maven
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
操作系统
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 支持: 签出目录的顶级目录中有Eclipse和Netbeans项目定义文件。项目刚创建时,不会有生成的消息类,会出现编译错误!最好在将项目导入 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 电子邮件支持 - 与我的问题相同
在电子邮件线程中,我没有找到此问题的答案。
问题于 2019 年 3 月报告。对我来说唯一的区别是 Quick/FIXJ 现在是更新的版本。
引用电子邮件的相同问题:
我正在尝试为 Eclipse 上的 quickfixj 创建一个开发环境。一世 克隆存储库,下载源代码,然后运行命令:
mvn clean package -Dmaven.javadoc.skip=true -DskipTests -PskipBundlePlugin
正如网站上所建议的那样。这部分工作没有任何错误。
之后,我尝试在eclipse中导入项目。这些项目是 标识为 maven 项目并添加到工作区,但是当 编译,导入后,显示错误: 找不到神器 org.quickfixj:quickfixj-codegenerator:jar:2.2.0-SNAPSHOT 哪个不允许 quickfixj-core 构建,反过来又不允许 任何其他要编译的项目,因为它们都依赖于核心项目。
我尝试了我在网上找到的一个建议,运行 mvn eclipse:eclipse 帮助构建 eclipse 项目,但到时候它 到达核心引擎项目,它抛出相同的错误: [错误] 插件 org.quickfixj:quickfixj-codegenerator:2.2.0-SNAPSHOT 或一个 无法解析其依赖项:找不到工件 org.quickfixj:quickfixj-codegenerator:jar:2.2.0-SNAPSHOT -> [帮助 1]
解决方法
在@ChristophJohn 的帮助下,我能够成功地将项目导入 IntelliJ
和 Netbeans
。
首先,运行:
mvn clean install -Dmaven.javadoc.skip=true -DskipTests -PskipBundlePlugin
然后只需将其导入到 IntelliJ
或 Netbeans
。
我无法将其导入 Eclipse 或 VS Code。但是,因为这适用于 IntelliJ
和 Netbeans
,所以对我来说就足够了。