[WSAD] Chemin de compilation > Ajouter JAR
Bonjour,
Je travaille sous WSAD d'IBM et j'utilise une API qui permet entre autre de faire du transfert STFP.
J'ai intégré les fichiers JAR au dossier lib, après avoir copier/coller un code extrait des samples fournis avec.
Cependant lors du runtime j'obtiens l'erreur
Citation:
E SRVE0026E: [Erreur de servlet]-[com.zehon.exception.FileTransferException]: java.lang.NoClassDefFoundError: com.zehon.exception.FileTransferException
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.Throwable.<init>(Throwable.java)
at java.lang.NoClassDefFoundError.<init>(NoClassDefFoundError.java:52)
at java.lang.Class.verifyImpl(Native Method)
at java.lang.Class.verify(Class.java)
at java.lang.Class.initialize(Class.java)
at com.clear.facturation.action.business.MyBillsAction.search(MyBillsAction.java)
at com.clear.facturation.action.business.MyBillsAction.unspecified(MyBillsAction.java:57)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:245)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
NoClassDefFoundError liés à une des classes de l'API.
Question 1: Quel peut-être le problème ?
J'ignore la différence entre l'intégration de fichiers JAR en utilisant "Ajouter des fichiers JAR" et "Ajouter des fichiers JAr externes" depuis le menu "chemin de compilation", après avoir fait un clic droit et choisi "préferences" sur mon projet.
A priori en ajoutant des fichiers JAR sur le dossier lib on a la possibilité par la suite de les inclure en utilisant "Ajouter des fichiers JAR", tandis que "Ajouter des fichiers JAr externes" permet de s'affranchir du dossier lib et les fichiers JAR gardent leur chemin "absolu".
Mais que se passe-t-il après, quand on génère un fichier war ou ear ?
Est ce que les JAR manquants seront copiés sur le dossier lib ?
Il y a aussi la possibilité sur l'onglet "Ordre et exportation" toujours sur "chemin de compilation" de cocher ou non et de changer l'ordre de bas en haut des fichiers JAR.
Question 2: Quelqu'un saurait-il m'éclairer par rapport à ces différents points ?
Merci d'avance pour votre aide.