mvn tomcat:run没有启动Tomcat

时间:2009-07-23 20:40:48

标签: java tomcat maven-2

我正在尝试使用maven及其tomcat插件部署和运行我的webapplication。

我在项目的pom.xml中设置了它,但是当我从命令行调用它时:

mvn tomcat:run

我得到的只是:

[root@ovz6022 trunk]# mvn -e tomcat:run
+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building Unnamed - com.gotbrains.breeze:breeze:jar:1.0
[INFO]    task-segment: [tomcat:run]
[INFO] ------------------------------------------------------------------------
[INFO] Preparing tomcat:run
[INFO] [resources:resources {execution: default-resources}]
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /root/trunk/src/main/resources
[INFO] [compiler:compile {execution: default-compile}]
[INFO] Nothing to compile - all classes are up to date
[INFO] [tomcat:run {execution: default-cli}]
[INFO] Skipping non-war project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 24 seconds
[INFO] Finished at: Thu Jul 23 14:34:31 MDT 2009
[INFO] Final Memory: 7M/14M
[INFO] ------------------------------------------------------------------------

就是这样。 Tomcat还没有发布,但我没有看到任何错误。

有人知道发生了什么吗?

3 个答案:

答案 0 :(得分:25)

如前所述,你应该使用战争包装。但是,如果你不能因为你正在使用OSGI或其他原因,即使它不是使用ignorePackaging选项的war包装,你也可以告诉Tomcat插件:

            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat6-maven-plugin</artifactId> 
                <version>2.0</version>
                <configuration>
                    <ignorePackaging>true</ignorePackaging>

答案 1 :(得分:17)

线索在线:

[INFO] Skipping non-war project

tomcat:run目标是用于战争项目,我猜你的是一个jar项目。

您需要将项目的包装更改为战争,您可能还需要为战争提供一些额外的配置以实际执行任何操作。

注意:我建议你的jar项目有一个单独的war项目,然后将jar作为依赖项添加到战争中。

答案 2 :(得分:2)

如果您正在使用Roo,并且还没有调用控制器命令,那么您的配置尚未设置为生成WAR文件。