mvn tomcat:run 不启动 Tomcat

2022-09-03 08:50:43

我正在尝试使用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尚未推出,但我在这里没有看到任何错误。

有人知道发生了什么吗?


答案 1

如前所述,您应该使用战争包装。但是,如果您因为使用OSGI或其他原因而无法部署,则可以通过使用overerPackaging选项告诉Tomcat插件无论如何都要部署,即使它不是战争打包:

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

答案 2

线索就在行中:

[INFO] Skipping non-war project

tomcat:run的目标是与战争项目一起工作,我猜你的是一个罐子项目。

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

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


推荐