如何在Java Web应用程序中设置上下文路径?

Kar*_*ula 7 java maven

我想知道如何在java Web应用程序中设置上下文路径.
更准确地说,在maven项目的情况下,是否从pom.xml文件设置了上下文路径?
上下文路径值是在Web应用程序中的任何位置引用的,还是仅仅是WAR文件的名称?
WAR文件的名称和上下文路径是否有可能不同?

Lui*_*oza 6

尽管项目是通过ant,maven,gradle或其他方式构建的,但上下文路径是war文件的名称.如果要更改应用程序的上下文路径,那么最简单的方法是更改​​生成的战争的名称.在maven中,这可以通过插件来完成,这是一个例子:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <warName>kasnet-webapp</warName>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

你可以做的另一种方法是使用你正在使用所描绘的应用服务器特定的配置在这里.


Nik*_*ide 5

添加答案以提供完整的详细信息。

有以下三种方法:

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

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

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <warName>customwarname</warName>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

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

如果您使用 eclipse 并使用 eclipse 部署 war,那么您可以使用以下 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>
Run Code Online (Sandbox Code Playgroud)

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

   mvn eclipse:eclipse -Dwtpversion=2.0
Run Code Online (Sandbox Code Playgroud)

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

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

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