1 回答
TA贡献1804条经验 获得超8个赞
我检查了 Azure ServiceBus 的 maven 存储库列表,这些版本之后都是由 Java 8 通过 check 文件构建的,该版本是由 Java 1.6 构建的。因此,没有任何由Java 7或其他ealier Java版本编译的已发布的jar文件用于最新版本。0.9.8pom.xml0.9.81.x.x
你的解决方法是手动从 GitHub 存储库下载 Azure ServiceBus 的源代码,以便自己在 maven 中编译它。你可以使用JDK 7来做到这一点,甚至可以使用JDK 8。您唯一需要的更改是使用而不是用于pom.xml中的配置,如下所示。1.71.8maven-compiler-plugin
<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 执行上述操作以使用参数进行编译,则必须确保没有任何使用 Java 8 功能的代码会导致编译器错误,例如 JDK 8。但是,我粗略地检查了它的源代码,似乎没有。有关 Javac 8 的更多详细信息,请参阅 https://docs.oracle.com/javase/8/docs/technotes/tools/windows/javac.html。javac-target 1.7 -source 1.7error: lambda expressions are not supported in -source 1.7-target-source
添加回答
举报