En Tomcat quiero usar un frasco dentro de una aplicación web. El archivo jar va a existir fuera del directorio de Tomcat.

Para incluir el archivo jar en tomcat classpath, he modificado el TomcatHome/conf/catalina.propiedades para incluir la ruta de acceso absoluta de mi archivo jar como,

shared.loader=D:\jaa\MyJarFile.jar

como por la sugerencia dada en el enlace,

http://www.mulesoft.com/tomcat-classpath

Pero lanza el error,

java.lang.NoClassDefFoundError

También he probado ,

shared.loader=D:\jaa\*.jar

shared.loader=file:\D:\jaa\MyJarFile.jar

Ninguno de ellos parece funcionar 🙁

Si me trate de colocar el frasco dentro de tomcat/lib parecer de trabajo. Pero no estoy autorizado para hacerlo.

Por favor me ayudan con este problema como he aplicación de la siguiente semana..

Se intenta: file://path/to/foldername/jarname.jar?Su sintaxis es diferente
Tomcat plantea IllegalArgumentsException cuando yo uso una barra diagonal (/), mientras que el servidor de inicio. Así que me puse a usar la barra invertida(file:\\D:\jaa\PatMS.jar)
Posibles duplicados de Cómo agregar TARRO de las bibliotecas a la GUERRA de proyecto sin hacer frente a java.lang.ClassNotFoundException? Classpath vs Build Path vs /WEB-INF/lib
Lo que funcionó para mí fue el uso de citas y barras diagonales, como compartida.carpeta=»C:/Program Archivos/Java/jdk1.8.0_121/db/lib/*.jar» (en un sistema Windows).

OriginalEl autor Sathesh | 2011-05-28

3 Comentarios

  1. 10

    Me imaginé a mí mismo cómo agregar la ruta de clases para tomcat. Lugar de edición catalina.propiedades, acaba de crear una «setenv.sh» en el Tomcat directorio Bin con el classpath,

    Ejemplo,

    CLASSPATH=D:\jaa\MyJarFile.jar

    Acabo de comprobar el catalina.sh en Tomcat/bin y estos classpath variable se establece durante la configuración de la secuencia de arranque como el classpath.

    gracias por compartir la solución
    Vale la pena señalar que el CLASSPATH variable de entorno es explícitamente unset por catalina.sh, por lo que debe utilizar editar setenv.sh para establecerlo.

    OriginalEl autor Sathesh

  2. 0

    Me encuentro la copia extra de los Frascos, que debe estar disponible para todos los contextos y para ello debe ir a la raíz del cargador, en el siguiente directorio:

     C:\Program Files\Apache Software Foundation\Tomcat 9.0\lib

    Pero esto sólo es posible si usted tiene acceso a este directorio, que podría no ser el caso para todos los Isp. Lo menos que puede hacer en casa.

    Bye

    Esto hace que el archivo jar disponible para todas las aplicaciones web desplegadas en el servidor. La pregunta menciona para una aplicación web.
    Para la aplicación web ponerlo en WEB-INF/lib de tu web en el contexto de aplicación. Va a ser cargados automáticamente por el contexto del cargador de clases.

    OriginalEl autor j4n bur53

  3. 0

    Yo estaba usando IntelliJ y he probado de todo como:

    1. Con CtrlAltCambioS (Ajustes del Proyecto) y la adición de una dependencia de mysql-connector.jar. No trabajo. (Lo único que funcionó fue que la finalización de código dentro de IntelliJ estaba trabajando bien.
    2. La adición de mysql-connector.jar a apache-home/lib/carpeta. No trabajo.
    3. Incluyendo mysql-connector.jar de Maven dentro de IntelliJ. Simplemente no funcionó.

    lo que funcionó para mí:

    Incluyen la mysql-connector.jar archivo en el PROJECT/web/WEB-INF/lib carpeta.

    No hay necesidad de añadir una dependencia en cualquier lugar. Acaba de compilar este y funcionará bien.

    OriginalEl autor Arpan Srivastava

Dejar respuesta

Please enter your comment!
Please enter your name here