微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

maven战争应用程序设置contextroot

我使用下面的mavenconfiguration构build一个战争应用程序文件,但是当我在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="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>

Java – IO绑定线程 – 1:1线程模型

使用JNI时出现UnsatisfiedLinkError?

CharsetDecoder不能在linux机器上工作

在java中读取文件部分的内容

Apache客户端cachingjar

无法创buildJava虚拟机

Nginx与Windows 10上的Clojure / Java – 无法启动

如何在Linux上使用GDBdebuggingJava -JNI?

使用HTTPS和SSL的安全性:-javax.net.ssl.SSLHandshakeException:证书已过期

如何确定屏幕保护程序是否在Java中运行?

有三种方法可以做到这一点:

1.如果您没有使用Eclipse / MyEclipse将应用程序部署到应用程序服务器上 –

你需要使用maven-war插件,你可以在配置部分指定warName。

<plugin> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> <configuration> <warName>customwarname</warName> </configuration> </plugin>

2.如果使用Eclipse / MyEclipse将应用程序部署到应用程序服务器上 –

如果您使用eclipse并使用eclipse部署战争,那么您可以使用以下maven配置。

<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>

然后,运行以下命令更新eclipse设置。

mvn eclipse:eclipse -Dwtpversion=2.0

重新启动Eclipse,然后导航到项目属性,Properties-> Web以查看根上下文值中反映的更改,或导航到项目的Deployment Assembly以查看更改

注意上面可以通过添加一个新的插件来使用m2eclipse来实现。

3.特定于应用程序服务器:您应该更喜欢遵循服务器不可知的方法,但是如果需要这样做,则可以在服务器特定的配置文件中配置根上下文url。 你可以在这里找到详细的方法

您的应用程序不负责定义自己的上下文路径。 这是容器的任务,就是你的情况下的Tomcat。 Tomcat提供了几个如何设置上下文路径的选项。 您可以在上下文文件中定义上下文路径,或者在管理器应用程序中指定上下文路径。 如果您使用Jenkins或其他CI工具,那么您也可以在其中指定上下文路径。

最好阅读关于特定Tomcat版本的选项。

有几个选项。 在WAR-File中定义Servlet上下文中描述了一些内容

使用tomcat,你也可以定义context.xml路径: http : //maven.apache.org/plugins/maven-war-plugin/war-mojo.html#containerConfigXML ,也可以在这里配置: https:// tomcat。 apache.org/tomcat-7.0-doc/config/context.html

最快的方式os可能要更改最终名称(请参阅其他stackoverflow问题)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐