2008-10-01 6 views
0

J'ai défini tomcat: catalina: 5.5.23 en tant que dépendance au plugin cargo, mais je reçois toujours l'exception suivante:Quelle est la façon la plus simple de démarrer Tomcat en mode embarqué à partir du cargo-maven2-plugin?

java.lang.ClassNotFoundException: org.apache.catalina.Connector 
at java.net.URLClassLoader$1.run(URLClassLoader.java:200) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:188) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:316) 
at org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195) 
at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255) 
at org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274) 
at org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:251) 
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:247) 
at org.codehaus.cargo.container.tomcat.internal.Tomcat5xEmbedded.preloadEmbedded(Tomcat5xEmbedded.java:232) 

On dirait que le RealmClassLoader ne trouve pas la classe, peut-être en raison de java .security.AccessController.doPrivileged refusant l'accès.

Quelqu'un a-t-il demandé à Tomcat de fonctionner en mode embarqué à partir de Maven?

+0

Pourriez-vous poster les sections pertinentes de votre POM? La configuration de la cargaison et les dépendances connexes devraient suffire. – sblundy

+0

AFAIK, il n'y a pas beaucoup de références de fret en utilisant l'implémentation embarquée de tomcat. Cette implémentation a été apportée "récemment", seule Jetty avait intégré l'implémentation dans les versions antérieures. Vous devriez poser votre question directement sur la liste de dev de chargement. –

Répondre

1

Note latérale: Vous pouvez démarrer une jetée similaire à tomcat. (Servlets seront disponibles à http://localhost:8080/ nom d'artefact)

mvn jetty6:run 

vous devez ajouter à votre pom:

<project> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.mortbay.jetty</groupId> 
       <artifactId>maven-jetty6-plugin</artifactId> 
       <configuration> 
        <scanIntervalSeconds>5</scanIntervalSeconds> 
        <!-- 
        <webXml>${basedir}/WEB-INF/web.xml</webXml> 
        --> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 
0

Il y a aussi un plugin maven tomcat:

http://mojo.codehaus.org/tomcat-maven-plugin/introduction.html

<plugins> 
    <plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>tomcat-maven-plugin</artifactId> 
    </plugin> 
</plugins> 

Sur ma machine, cela charge Tomcat 6. Je ne sais pas comment l'obtenir t o travailler avec tomcat 5.5

Questions connexes