Кажется, что есть проблема при компиляции кода Scala, который использует более старые (Java 6) драйверы JDBC DataSource с Java 7 JVM и Scala.
В Java 7 Oracle добавил новый метод, Logger getParentLogger()
,к интерфейсу CommonDataSource
.Старые классы, построенные на Java 6, которые реализуют CommonDataSource
, не собираются реализовывать этот метод (например, PGConnectionPoolDataSource
и SQLServerDataSource
).Когда код компилируется с помощью компилятора Scala, он жалуется, что конкретный класс не реализует абстрактный метод getParentLogger
.
. Я не знаю, происходит ли это с компилятором Java, но я подозреваю, что нет, так какон должен был быть обнаружен модульным тестированием.
Я уверен, что эта проблема возникнет с любым интерфейсом, который добавляет новые объявления методов.
Есть ли обходные пути для Scala для этой проблемы?Является ли единственным решением вернуться к JDK 6?У меня нет исходного кода для драйвера SQL Server, поэтому я не могу решить проблему самостоятельно (я знаю, что у open-source нет этой проблемы, но я вынужден использовать этот драйвер по другим причинам).