gpt4 book ai didi

java - 是否有与 Java 7 兼容的 Azure 服务总线版本?

转载 作者:行者123 更新时间:2023-12-02 10:04:45 26 4
gpt4 key购买 nike

Azure服务总线的文档有示例图片:

https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-java-how-to-use-queues#configure-your-application-to-use-service-bus

它使用 java 8。代码示例也使用 Java 8 语法和函数。我有一个java 7的环境,但我无法让它工作,因为java太旧了。

有人知道 Azure 服务总线与 Java 7 的工作组合吗?我要么需要肯定有效的版本,要么回答说没有版本可以这样做。

我使用 Azure 服务总线的最新 1.2 版本进行测试。

最佳答案

我检查了Azure ServiceBus的maven存储库列表,0.9.8之后的这些版本都是由Java 8构建的,通过检查pom.xml文件,版本0.9.8是由Java 8构建的Java 1.6。因此,没有任何由 Java 7 或其他早期 Java 版本编译的最新版本 1.x.x 的已发布 jar 文件。

您的解决方法是手动下载 Azure ServiceBus 的源代码从 GitHub repo 自己在 maven 中编译它。您可以使用 JDK 7 来完成此操作,甚至可以使用 JDK 8。您需要的唯一更改是使用 1.7 而不是 1.8 来配置 maven-compiler- pom.xml 中的插件 ,如下所示。

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5</version>
<configuration>
<source>1.7</source> <!-- 1.8 -->
<target>1.7</target> <!-- 1.8 -->
<optimize>true</optimize>
<showDeprecation>true</showDeprecation>
<showWarnings>true</showWarnings>
</configuration>
</plugin>

注意:如果使用 JDK 8 执行上述操作并使用 javac 参数 -target 1.7 -source 1.7 进行编译,则必须确保不存在任何以下代码使用Java 8功能会导致编译器错误,例如error: lambda表达式在JDK 8的-source 1.7中不支持。但是,我粗略地检查了它的源代码,似乎没有。有关 Javac 8 的 -target-source 的更多详细信息,请参阅 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html .

关于java - 是否有与 Java 7 兼容的 Azure 服务总线版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55398948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com