找不到java.lang.AutoCloseable的类文件-ActiveMQ代码

时间:2019-01-11 14:26:56

标签: java activemq

我能够在Eclipse中(使用JDK 1.6)成功执行以下代码。

ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(userName, password, hostName);
// Create a Connection
connection = factory.createConnection();
// start the Connection
connection.start();
//some processes

使用的配套罐子:

slf4j-api-1.6.1.jar 
javax.annotation-api-1.2-b01.jar 
javax.jms-api-2.0.jar 
management-api-1.1-rev-1.jar 
activemq-core-5.7.0.jar

但是通过ant进行构建(使用JDK 1.6)时,低于编译错误。

[javac] d:\jenkinshome\jobs\DocumentumArtifacts V15 DEV\workspace\javamethods\org\ifc\rms\methods\PermanentDocbaseMethods.java:324: cannot access java.lang.AutoCloseable
[javac] class file for java.lang.AutoCloseable not found
[javac]                    connection.start();
[javac]

任何帮助对我来说都是非常有益的!!

2 个答案:

答案 0 :(得分:2)

接口Autocloseable已在Java 1.7中引入,因此无法按照javadoc中的报告使用Java 1.6进行编译:

  

因为:1.7

验证是否可以使用较新的jdk。这取决于项目的要求。 如果不可能,则必须使用与Java 1.6兼容的旧版本库。

答案 1 :(得分:2)

java.lang.AutoCloseable在1.6中不存在

来自https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html

  

由于:   1.7

老实说,我很惊讶您能够在Eclipse中进行编译和运行。我的猜测是Eclipse决定使用较新的JDK进行编译,而您在那里并没有真正使用1.6。