从cargo-maven2-plugin以嵌入式模式启动tomcat的最简单方法是什么?
时间:2020-03-06 14:57:27 来源:igfitidea点击:
我已将tomcat:catalina:5.5.23定义为对cargo插件的依赖项,但是我仍然收到以下异常:
java.lang.ClassNotFoundException: org.apache.catalina.Connector at java.net.URLClassLoader.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)
看起来RealmClassLoader找不到类,可能是由于java.security.AccessController.doPrivileged拒绝访问所致。
有没有人让tomcat从maven中以嵌入式模式运行?
解决方案
边注:
我们可以启动类似于tomcat的码头。 (可以在http:// localhost:8080 / artefact-name上找到Servlet)
mvn jetty6:run
我们将必须添加到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>
还有一个tomcat maven插件:
http://mojo.codehaus.org/tomcat-maven-plugin/introduction.html
<plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> </plugin> </plugins>
在我的机器上,这会加载tomcat6. 我不确定如何使其与tomcat 5.5一起使用