文档章节

Tomcat - Maven plugin: 运行找不到webapp

Oscarfff
 Oscarfff
发布于 2016/05/11 17:07
字数 217
阅读 87
收藏 0

The tomcat7-maven-plugin allows running the current project as a Web application and additional <webapps> can be specified that will be simultaneously loaded into tomcat.

My project is not a Web application, but it accesses services that are provided by webapps. So how is it possible to deploy a number of webapps without running the project itself as a webapp? The following Maven snippet results in FileNotFoundExceptions because a context.xml cannot be found.

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.0</version>
  <executions>
    <execution>
      <id>run-tomcat</id>
      <phase>${tomcat.run.phase}</phase>
      <goals><goal>run-war-only</goal></goals>
      <configuration>
        <webapps>
          <webapp>
            <contextPath>/my/app1</contextPath>
            <groupId>...</groupId> 
            <artifactId>...</artifactId>
            <version>...</version>
            <type>war</type>    
            <asWebapp>true</asWebapp>
          </webapp>
          ... possibly more webapps ...
        </webapps> 
      </configuration>
    </execution>
    <execution>
      <id>tomcat-shutdown</id>
      <phase>${tomcat.shutdown.phase}</phase>
      <goals><goal>shutdown</goal></goals>
    </execution>
  </executions>
</plugin>

Workaround:

Even though your application itself is not a webapp, you need to configure a path and a contextFile for it:

<configuration>
    <path>/my/non/existing/webapp</path>
    <contextFile>src/test/resources/context.xml</contextFile>
    <webapps>
    ...

The specified context.xml file must exist. The following worked for me, even though the web.xmlfile does not exist:

<?xml version="1.0" encoding="utf-8"?>
<Context path="/my/non/existing/webapp">
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>

本文转载自:http://stackoverflow.com/questions/15480218/tomcat-maven-plugin-run-webapps-but-not-current-project

共有 人打赏支持
Oscarfff
粉丝 71
博文 815
码字总数 96913
作品 0
崇明
后端工程师
Java Web开发入门 - 第4章 Maven实战

Maven Maven官网 Maven下载Maven安装与配置 Maven安装 Windows安装 配置Java 下载JRE或者JDK 配置JAVA_HOME环境变量到JRE或者JDK的根目录 下载并解压Maven Maven官网下载压缩包,解压缩 配置...

抢小孩糖吃
2016/08/22
726
0
Maven学习笔记(二)——常用插件配置详解

先将我用到的自定义变量贴过来,防止插件中出现一些变量,大家不理解 <!-- 全局属性配置 --> <properties> <project.build.name>tools</project.build.name> <project.build.sourceEncoding>......

zh119893
2014/06/07
24.1K
2
Eclipse 中的Maven Webapp

记录一个有意思的事情 以前刚开始使用maven的时候, 在涉及到war 的包的时候 就想到如何去运行它 我想这个是很正常的想法 于是乎 就找了 tomcat-plugin / jetty-plugin 这样的东西 然后就一直...

triankg
2014/01/21
0
1
Tomcat 7 下对 JSP 进行预编译

问题: 有一个web应用,包含很多jsp,直接调用某些后台库的方法,但这些库通过 Java 的安全管理器运行在一个沙盒环境中,必须使用某个密钥签名后才能进行调用。 解决方案: 因此初步考虑使用以...

红薯
2011/09/20
2.8K
4
在运行Maven项目时无法启动,但报错的信息很不清晰

在执行maven项目时,执行tomcat7:run命令后,程序报错,报错的日志如下 [INFO] ------------------------------------------------------------------------ [INFO] Building hams-demo Mave......

Mystic_30
03/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

dubbo部分常见的面试题目

1、什么是AMQP协议? AMQP的全称是 Advanced Message Queuing Protocol (高级消息队列协议) 他是应用层协议的一个开放的标准,为面向消息中间件而设计,基于此协议的客户端和消息中间件可以...

DemonsI
8分钟前
0
0
http和https协议

HTTPS全称为Hypertext Transfer Protocol over Secure Socket Layer,中文含义为“超文本传输协议在安全加密字层”,简单来说就是加密数据传输,通俗的说就是安全连接。 HTTPS安全超文本传输...

寰宇01
9分钟前
0
0
vue内引入语音播报功能

在vue项目中引入语音播报,使用的科大讯飞语音接入, 具体思路为每次接收到语音信息后存入一个数组,然后监听这个数组,开始冲第一个索引播放,并且同时根据vuex getter 来动态删减数量 给a...

originDu
17分钟前
0
0
Java创建对象的五种方式

一、使用new关键字,调用构造方法创建对象 Person p1 = new Person(); 运行过程: 1、给新对象分配内存空间,将数据存储到堆。 2、执行显示的初始化。 3、执行构造器。new方法中括号参数传递...

Drathin
18分钟前
0
0
git使用纪要

之前公司一直没用git,于是自己注册了一个账号自己用,因为也没人合作,所以也没太关注协作方面的事情。最近公司终于想通了,开始用git,于是研究了一下,在此做个记录。 git功能非常灵活,因...

propagator
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部