#java #sql #sql-server #jdbc #spring-jdbc
#java #sql #sql-сервер #jdbc #spring-jdbc
Вопрос:
Обновление таблицы SQL Server работает нормально, когда я запускаю свое приложение локально. Но это выдает мне ошибку «java.lang.NoClassDefFoundError: com / microsoft / sqlserver / jdbc / TDSWriter $ 1», когда я пытаюсь запустить развернутую версию на jenkins на нашем сервере Linux.
Я использую org.springframework.data.repository.save для обновления моей записи в таблице.
try{
userRepository.save(personnel);
}catch (Exception e){
String message = "There is an exception while updating userrecord in the database";
logger.error(message, e);
}
java.lang.Ошибка NoClassDefFoundError:
com / microsoft /sqlserver/jdbc / TDSWriter $ 1
com.microsoft.sqlserver.jdbc.TDSWriter.writeRPCByteArray(IOBuffer.java:4526)
com.microsoft.sqlserver.jdbc.DTV$SendByRPCOp.execute(dtv.java:1158)com.microsoft.sqlserver.jdbc.DTV.executeOp(dtv.java:1311)
com.microsoft.sqlserver.jdbc.DTV.sendByRPC(dtv.java:1503)
Ответ №1:
Я решил эту проблему. На сервере Linux, где было развернуто приложение, у меня было несколько версий sqljdbc jar. Только один sql jdbc jar(sqljdbc42.jar ) требуется. Таким образом, удаление другого jar-файла sql jdbc решило эту проблему. Это сработало на моем локальном компьютере, поскольку в моей системе нет нескольких версий.