Ошибка неподдерживаемой версии при использовании JTDS со Scala

Я пытаюсь использовать драйвер Java JTDS для подключения к моей базе данных в Scala. Однако всякий раз, когда я пытаюсь его использовать, я получаю сообщение об ошибке, что версия (java?) неверна.

java.lang.UnsupportedClassVersionError: net/sourceforge/jtds/jdbcx/JtdsDataSource: неподдерживаемая версия major.minor 51.0

object DaoDriverAdaptor {
  import java.sql.{DriverManager, Connection}

  private def loadDriver() {
    try {
      Class.forName("net.sourceforge.jtds.jdbcx.JtdsDataSource")
    } catch {
      case e: Exception  => {
        println("ERROR: Driver not available: " + e.getMessage)
        throw e
      }
    }
  }
  • Скала версия: 2.9.2
  • Java-версия: 1.6
  • Использование jtds 1.3.0
  • Вывод java-версии:

версия java "1.6.0_35" Java(TM) SE Runtime Environment (сборка 1.6.0_35-b10-428-11M3811) Java HotSpot(TM) 64-битный сервер VM (сборка 20.10-b01-428, смешанный режим)


person stan    schedule 15.11.2012    source источник


Ответы (2)


Да, ваша среда выполнения Java устарела в соответствии с форматом файла класса Java:

  • J2SE 7 = 51 (0x33 шестнадцатеричный),
  • J2SE 6.0 = 50 (0x32 шестнадцатеричный),
  • J2SE 5.0 = 49 (0x31 шестнадцатеричный),
  • JDK 1.4 = 48 (0x30 шестнадцатеричный),
  • JDK 1.3 = 47 (0x2F шестнадцатеричный),
  • JDK 1.2 = 46 (0x2E шестнадцатеричный),
  • JDK 1.1 = 45 (0x2D шестнадцатеричный).

51.0 означает, что вам нужна Java 7 для запуска некоторых классов в вашем проекте. И вы правы, проблема связана с jTDS (из JTDS JDBC Driver 1.2.7 и 1.3.0 выпущены):

Версия 1.3.0 — это первая версия драйвера, совместимая с Java 7.

Либо обновитесь до Java 7 (всегда хорошая идея), либо перейдите на более старый драйвер jTDS.

person Tomasz Nurkiewicz    schedule 15.11.2012
comment
Scala по-прежнему не на 100% совместим с JDK7, поэтому пока я буду использовать старый драйвер. Спасибо! - person stan; 15.11.2012

Из примечаний к выпуску:

Вы должны придерживаться строки драйвера jTDS 1.2.x только в том случае, если вам требуется использовать версии Java до Java 7.

person a_horse_with_no_name    schedule 15.11.2012