файл класса для java.lang.AutoCloseable не найден - код ActiveMQ - PullRequest
0 голосов
/ 11 января 2019

Я могу успешно выполнить приведенный ниже код в 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

Но ошибка компиляции ниже, если при сборке (с JDK 1.6) через ant.

[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 голосов
/ 11 января 2019

java.lang.AutoCloseable не существует в 1.6

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

С: 1,7

Честно говоря, я удивлен, что вы смогли скомпилировать и запустить его в Eclipse. Я предполагаю, что Eclipse решает скомпилировать с более новым JDK, и вы на самом деле не используете 1.6 там.

0 голосов
/ 11 января 2019

Интерфейс Autocloseable был введен в Java 1.7, поэтому он не может быть скомпилирован с Java 1.6, как сообщается в javadoc:

С: 1.7

Проверьте, можете ли вы использовать более новый jdk. Это зависит от требований проекта. Если это невозможно, вы должны использовать более старые версии библиотек, совместимых с Java 1.6.

...