Java maven war应用程序设置contextroot
我正在使用下面的maven配置构建war应用程序文件,但是当我在tomcat中启动应用程序时,上下文根被设置为“/CommerceApi-0.0.1-SNAPSHOT/” 我希望将其设置为“/api” 有什么想法吗?下面是pom.xmlJava maven war应用程序设置contextroot,java,linux,maven,tomcat,Java,Linux,Maven,Tomcat,我正在使用下面的maven配置构建war应用程序文件,但是当我在tomcat中启动应用程序时,上下文根被设置为“/CommerceApi-0.0.1-SNAPSHOT/” 我希望将其设置为“/api” 有什么想法吗?下面是pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="htt
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>CommerceApi</groupId>
<artifactId>CommerceApi</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.13</version>
</dependency>
<dependency>
<groupId>CommerceApiCommon</groupId>
<artifactId>CommerceApiCommon</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
4.0.0
商业广告
商业广告
0.0.1-快照
战争
src
src
**/*.爪哇
maven编译器插件
3.3
1.6
1.6
maven战争插件
2.6
网络内容
假的
org.codehaus.jackson
杰克逊地图绘制者
1.9.13
商业通讯
商业通讯
0.0.1-快照
您的应用程序不负责定义自己的上下文路径。这是容器的任务,在你的例子中是Tomcat。Tomcat提供了几个设置上下文路径的选项。您可以在上下文文件中定义上下文路径,也可以在manager应用程序中指定上下文路径。如果使用Jenkins或其他CI工具,也可以在那里指定上下文路径
您最好仔细阅读关于特定Tomcat版本的选项。有几个选项。其中一些在中进行了描述 使用tomcat,您还可以定义context.xml路径,并在其中进行配置:
更改最终名称的最快方法(请参阅其他stackoverflow问题)。有三种方法: 1。如果您没有使用Eclipse/MyEclipse将应用程序部署到应用服务器上- 您需要使用maven war插件,您可以在配置部分指定warName
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<warName>customwarname</warName>
</configuration>
</plugin>
重新启动Eclipse,然后导航到项目属性、属性->Web以查看根上下文值中反映的更改,或者导航到项目的部署程序集以查看更改
请注意,可以使用m2eclipse通过添加新插件来实现上述功能
3。特定于应用程序服务器:
您应该更愿意遵循服务器无关的方法,但如果需要这样做,则可以在特定于服务器的配置文件中配置根上下文url。您可以找到详细的方法为什么服务器tomcat被称为容器?它与人们所说的集装箱化(码头工人等)相似吗#NewbieHereContainer肯定是不同上下文中非常常用的词。这里,它是web容器或servlet容器的简短版本。实际上,我看不出与Docker有多少相似之处。
maven eclipse插件
is…是否有替代品?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.10</version>
<configuration>
<wtpversion>2.0</wtpversion>
<wtpContextName>customwarname</wtpContextName>
</configuration>
</plugin>
mvn eclipse:eclipse -Dwtpversion=2.0