try-with-resource не поддерживается в -source 1.5 произошла ошибка, когда я использовал try catch в источнике - PullRequest
0 голосов
/ 02 апреля 2020

Это мой pom. xml файл. enter image description here А вот и сообщение об ошибке: enter image description here Я хочу развернуть свой java проект на heroku. Но произошла ошибка.

try(Connection connection = dataSource.getConnection()) {

    Statement stmt = connection.createStatement();
    logger.info("Just Beforce sql executed ");
    ResultSet rs = stmt.executeQuery("Select sfid,id, email from salesforce.contact");
    logger.info("ResultSet data " + rs);
    ArrayList<String> output = new ArrayList<String>();
      while (rs.next()) {
        logger.info("ID get Successfully " + rs.getString("id"));
         logger.info("SFID get Successfully " + rs.getString("sfid"));
         logger.info("Email get Successfully " + rs.getString("email"));
       }
 }
 catch (Exception e) {

 }

Видимо, ошибка связана с попыткой (Соединение ...), но я просто не понимаю, почему это не разрешено. И "не поддерживается в версии 1.5" меня смущает, значит java версия? или что-то другое? Буду признателен за любую помощь !!!

Обновление: я использовал git для развертывания моего приложения, вот моя git ссылка на проект: https://github.com/BenHugh/devcenter-java-quartz

Ответы [ 2 ]

2 голосов
/ 02 апреля 2020

Просмотр ваших свойств <java.version> имеет смысл, только если вы используете Spring Boot

Измените ваши свойства на что-то вроде:

<properties>
  <maven.compiler.target>1.8</maven.compiler.target>
  <maven.compiler.source>1.8</maven.compiler.source>
</properties>

Или через плагин компилятора Maven Java конфигурация

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.6.1</version>
      <configuration>
         <source>1.8</source>
         <target>1.8</target>
      </configuration>
   </plugin>
  </plugins>
</build>

Или, в качестве альтернативы, используйте синтаксис try-catch classi c и закройте мануал соединения

try{
   Connection connection = dataSource.getConnection();
   // rest of your code
   connection.close();
   }
   catch (Exception e) {
   }
2 голосов
/ 02 апреля 2020

Этот синтаксис был реализован в Java 1.7. Heroku думает, что вы пишете код java 1.5. Можете ли вы изменить настройки проекта, чтобы он понимал, что вы используете (как минимум) Java 1,7?

...