从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一起使用