当我在本地运行应用程序时,对SQL Server表的更新工作正常。但是当我尝试在我们的linux服务器上的jenkins上运行已部署的版本时,却出现了错误“ java.lang.NoClassDefFoundError:com / microsoft / sqlserver / jdbc / TDSWriter $ 1”。
我正在使用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)
答案 0 :(得分:0)
我已解决此问题。在部署了应用程序的linux服务器上,我有多个版本的sqljdbc jar。只需要一个sql jdbc jar(sqljdbc42.jar)。因此,删除其他sql jdbc jar已解决了此问题。它在我的本地计算机上有效,因为我的系统上没有多个版本。