TOMCAT 9.0 NoClassDefFoundError: sqlserver/jdbc/SQLServerDataSource
Bonjour à tous,
Je reprends de vieilles applis crées par mes prédécesseurs et je veux les migrer sur des versions plus récentes.
Il s'agissait de servlet sur un Tomcat 5.5 et un Java 6.
Je les passe sur un autre serveur avec un Tomcat 9.0 et un Java 8.
Problème:
Je n'arrive pas à faire fonctionner le servlet sur le nouveau serveur.
J'obtiens l'exception :
Citation:
exception
javax.servlet.ServletException: L'exécution de la servlet a lancé une exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
cause mère
java.lang.NoClassDefFoundError: com/microsoft/sqlserver/jdbc/SQLServerDataSource
litsCG.doPost(litsCG.java:124)
litsCG.doGet(litsCG.java:107)
javax.servlet.http.HttpServlet.service(HttpServlet.java:626)
javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Voici le fichier de compilation originel :
Code:
1 2
| set JAVA_HOME="C:\Program Files\Java\jdk1.5.0_16"
%JAVA_HOME%\bin\javac -classpath classes12.zip;sqljdbc.jar;servlet-api.jar *.java |
Et le mien :
Citation:
set JAVA_HOME="C:\Program Files\Java\jdk1.8.0_45"
%JAVA_HOME%\bin\javac -classpath E:\OutilsJava\OutilsCommuns\litsCG\src;E:\OutilsJava\OutilsCommuns\litsCG\src\jar\classes12.zip;E:\OutilsJava\OutilsCommuns\litsCG\src\jar\sqljdbc.jar;E:\OutilsJava\OutilsCommuns\litsCG\src\jar\servlet-api.jar *.java
pause
Dans le projet initial tout était en vrac, j'ai rangé un peu.
J'ai aussi essayé de compiler avec le même modèle, en mettant simplement à jour le JAVA_HOME.
Ensuite je deploy sur mon Tomcat 9.0:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| copy "E:\OutilsJava\OutilsCommuns\litsCG\src\litsCG.class" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\classes\litsCG.class"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\cferie.class" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\classes\cferie.class"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\CheckAuth.class" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\classes\CheckAuth.class"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\CSVReader.class" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\classes\CSVReader.class"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\db.class" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\classes\db.class"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\web.xml" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\versionCourante.txt" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\js\scalendarDateInput.js" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\classes12.zip" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\lib"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\servlet-api.jar" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\lib"
copy "E:\OutilsJava\OutilsCommuns\litsCG\src\sqljdbc.jar" "E:\Apache Software Foundation\Tomcat 9.0\webapps\litsCG\WEB-INF\lib" |
La compilation se passe bien mais l'exécution échoue :(
J'ai regardé mon serveur Tomcat 5.5, je vois que les .jar ne sont pas dans le webapps (mais c'est le cas pour mes autres servlets) mais dans
C:\Program Files\Apache Software Foundation\Tomcat 5.5\common\lib
J'ai donc essayé de faire pareil et sur mon nouveau serveur j'ai recopié mes jar dans :
E:\Apache Software Foundation\Tomcat 9.0\lib
J'écume le net mais je ne trouve pas de solution.
Auriez vous une idée ?
Merci !