我想在Windows 10上从Matlab和MetaTrader 5发送和接收数据。
根据this post,JeroMQ是最简单的方法:
我从https://github.com/zeromq/jeromq克隆了仓库
我安装了Maven
然后我进入存储库根目录并开始构建它
使用:mvn软件包,它产生以下错误消息:
[ERROR] Failures:
[ERROR] TestEvents.testEventConnectRetried:85 No event was received
[ERROR] Errors:
[ERROR] PollTest.testPollUdp:100 » Bind Cannot assign requested address:
connect
[INFO]
[ERROR] Tests run: 588, Failures: 1, Errors: 1, Skipped: 17
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:48 min
[INFO] Finished at: 2019-09-12T18:51:01+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project jeromq: There are test failures.
我试图通过根据以下文章将localhost的IP配置设置为127.0.0.1来解决此问题:
https://help.mulesoft.com/s/article/What-does-java-net-BindException-Cannot-assign-requested-address-mean
ZMQError: Cannot assign requested address
不能解决问题(相同的错误消息)。
我认为它与某些IP设置有关,但是我是套接字通信的新手。我没有Java编程/调试经验。请帮助我解决此问题,以便成功构建
.jar
文件,并且可以将其添加到Matlab中的javaclasspath
中。否则:是否有一种(简便的)替代方法与其他程序建立Matlab套接字通信(例如通过ZeroMQ)?
最佳答案
我遇到了同样的问题,要绕过测试,您需要在主文件夹jeromq-masters的pom.xml文件中添加一些代码。
因此,我更改的部分如下。您可以将其与自己的pom进行比较,并根据它进行更改。由于已经过去了几天,所以我不完全记得添加的部分,但是以“ includes”开头的部分必须是添加的部分。
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
<includes>
<include>TestFail.java</include>
</includes>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
然后,您需要使用mvn package命令重新编译它。
这使我可以编译JAR文件。