java.lang.NoClassDefFoundError: org / apache / commons / discovery / tools / DiscoverSingleton
J'ai créer un formulaire d'inscription dans le fichier jsp avec jsf et j'essaie de le connecter à un service web afin de passer à travers cette les éléments d'une base de données.
Quand je presse le bouton "soumettre", j'obtiens une erreur. Je ne pense pas que le problème concerne le code de connexion, mais je ne suis pas sûr.
Quelqu'un peut-il me dire quelque chose qui peut-être m'aide en quelque sorte?
erreur:
javax.servlet.ServletException: #{formabean.submitdetails}: java.lang.NoClassDefFoundError: org/apache/commons/discovery/tools/DiscoverSingleton
javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:390)
mon formulaire jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Form</title>
</head>
<body>
<div align="right" >
<p>
<br>.............
<h:commandButton value="submit" type="submit"
action="#{formabean.submitdetails}" />
</h:form>
</body>
</html>
</f:view>
mon Haricot classe "formavar":
package org.forma;
import org.imigrant.Migration.MigrationResult;
import org.imigrant.Migration.MigrationWS_PortType;
import org.imigrant.Migration.MigrationWS_Service;
import org.imigrant.Migration.MigrationWS_ServiceLocator;
/** libraries for Web Service*/
/**
*
* @author USER
*/
public class formavar {
private String name;
private String lastname;.....
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the surname
*/
public String getLastname() {
return lastname;
}
/**
* @param surname the surname to set
*/
public void setLastname(String lastname) {
this.lastname = lastname;
}......
public String submitdetails() {
String migrationURL = "http://localhost:8080/mule-tomcat/ESB/Migration?wsdl";
MigrationResult registrationResult = new MigrationResult();
try {
MigrationWS_Service service = new MigrationWS_ServiceLocator(migrationURL);
MigrationWS_PortType port = service.getMigrationImplPort();
registrationResult = port.registerDoc(
null,
this.granting,
this.expire_date,
this.name,
this.lastname,.............
);
return "OK";
} catch (Exception ex) {
return "ERROR "+ex.getMessage();
}
//return "OK";
}
}
et la config xml:
<managed-bean>
<managed-bean-name>formabean</managed-bean-name>
<managed-bean-class>org.forma.formavar</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
source d'informationauteur sissy agal
Vous devez vous connecter pour publier un commentaire.
Cela signifie que la catégorie (ou d'un fichier JAR contenant la classe) est manquante dans la webapp d'exécution du classpath.
Que le nom du package conseils, la classe est partie de Apache Commons Découverte qui est disponible pour téléchargement à http://commons.apache.org/discovery. Si vous il suffit de déposer son fichier JAR(s) dans
/WEB-INF/lib
de votre webapp (ce qui est couvert par la webapp d'exécution du classpath), alors cette erreur devrait disparaître.Noter que ce problème a rien à faire avec la JSF/JSP, sans parler de Java EE. C'est juste de base de Java. La cause de l'exception également des conseils qui; c'est de la
java.lang
paquet.Les catégories déterminées sont absentes du projet de chemin de classe au moment de l'exécution du test.
La solution est d'ajouter la dépendance suivant à votre pom: