mvn tomcat:run启动不了Tomcat

15

我正在尝试使用Maven及其Tomcat插件部署和运行我的Web应用程序。

我已在项目的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个回答

29

如之前所述,您应该使用war打包。但是,如果您由于使用OSGI或其他原因无法这样做,您可以使用ignorePackaging选项告诉Tomcat插件即使它不是war打包也要进行部署:

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

1
或者使用 -Dtomcat.ignorePackaging=true - Grim

17

线索在这一行中:

[INFO] Skipping non-war project

tomcat:run目标旨在与war项目一起使用,我猜你的项目是一个jar项目。

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

注意:我建议将war项目与jar项目分开,并将jar作为依赖项添加到war中。


5
答案不太有帮助。向下滚动以获取简单的选项,将其添加到pom.xml中并解决问题。 - user5732979

2

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接