2012-07-25 24 views
24

Cuando utilizo el código de seguimiento en Eclipse Dynamic Web Project dentro servlet, así:Eclipse - añadir a .jar Proyecto Web dinámico

@WebServlet("/CreateCustomerServlet") 
public class CreateCustomerServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    private void test() throws SQLException, ClassNotFoundException { 
     // use the JAR ... 
     Class.forName("com.mysql.jdbc.Driver");//here the exception 
    } 
} 

que tirar la excepción:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

en el línea:

Class.forName("com.mysql.jdbc.Driver");

En el camino de construcción del proyecto web dinámico que añade el frasco:

mysql-connector-java-5.1.21-bin.jar

agrego instantánea de la carpeta, puede ver dónde está el frasco requerida -

enter image description here

Respuesta

33

Como muestra la captura de pantalla, el archivo jar mysql no aparece en el nodo Bibliotecas de aplicaciones web. Pegue el jar en WebContent/WEB-INF/lib, y se agregará automáticamente a la ruta de compilación and al classpath en tiempo de ejecución de la aplicación web (y aparecerá en Librerías de aplicaciones web).

+0

¡Gracias por la respuesta! – newbie

+2

Muchas gracias. Nos salvaste en Hackathon – gkiko

+0

Eso funciona, yo también estaba enfrentando el mismo problema, ¿hay algún problema con la ruta de compilación del proyecto web dinámico? –

1

El tiempo de compilación & runtime son dos cosas diferentes. Lo que haya agregado ahora es solo para tiempo de compilación & solo para compilación. El servidor de tiempo de ejecución intenta cargar la clase. Añada también el mismo jar a la carpeta project lib (que se empaquetará con WAR y estará disponible para el servidor en tiempo de ejecución).

2

trate de hacer esto:

Hacer un llamado lib directorio en el directorio raíz del proyecto y poner el .jar en ella.

En el directorio WEB-INF, cree un enlace a lib.

Ahora, el jar aparecería en Bibliotecas de WebbApp.

23

Justo ahora soluciono este problema.

  • Simplemente vaya a properties de su proyecto.
  • Seleccione Deployment Assembly ->add ->Java Build Path Entries.

¡Y listo!

+3

esto es perfecto, en lugar de copiar todo la lib se abre en la carpeta lib del proyecto ... Impresionante –

0

La solución es bastante sencilla:

1. Right click on the your web project and choose PROPERTIES 

2. Choose the J2EE Module Dependencies 

3. Click on the Add External JARs… and then point on your library file (ZIP or JAR) 

4. Click on Apply then OK. 

5. Restart your Apache Tomcat 

La biblioteca añadido debe ser visto en: Nombre del Proyecto> Java Resources: src> Bibliotecas> Bibliotecas de aplicación web.

+1

Parece que en la versión más reciente de Eclipse 'J2EE Module Dependencies' se reemplazó por' Deployment Assembly'. – Pshemo

+0

@Pshemo, sí amigo. Tu derecho, eso fue en una versión más nueva. Pero, este como también responde amigo. – jmail

+1

No estaba diciendo que esto no sea una respuesta porque puede ser útil para muchas personas. Mi comentario fue solo una pequeña mejora para aquellos con versiones más nuevas de Eclipse. También probablemente no muchos pueblos aquí son tus amigos, así que trata de evitar esta palabra. – Pshemo

Cuestiones relacionadas