2016-07-29 27 views
3

私はTomcatのでアプリケーションを起動したときしかし、コンテキスト・ルートが設定されている、以下のMavenの設定を使用して戦争のアプリケーションファイルを構築していますを設定する「/CommerceApi-0.0.1-SNAPSHOT/」Mavenの戦争のアプリケーションコンテキストルート

は、私は以下の

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

答えて

1

あなたのアプリケーションは、独自のコンテキストパスを定義するために担当していないのpom.xmlある?これは、「/ API」に

任意のアイデアを設定することにしたいです。それはコンテナの仕事、あなたの場合のTomcatです。 Tomcatは、コンテキストパスを設定する方法のいくつかのオプションを提供しています。コンテキストファイルでコンテキストパスを定義するか、マネージャアプリケーションでコンテキストパスを指定することができます。 Jenkinsや他のCIツールを使用している場合は、コンテキストパスを指定することもできます。

特定のTomcatバージョンに関するオプションをお読みください。

+0

なぜサーバーのtomcatがコンテナとして呼び出されますか?人々が参照するコンテナ化(ドッカーなど)と似ていますか? #NewbieHere – user3705478

0

いくつかのオプションがあります。 http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#containerConfigXMLと多分はそこにそれを設定:いくつかはあなたものcontext.xmlパスを定義することができます使用してTomcatをDefine Servlet Context in WAR-File

に記述されているOSは、おそらく最後の名前を変更するにはhttps://tomcat.apache.org/tomcat-7.0-doc/config/context.html

最速の方法を(他のstackoverflowの質問を参照してください) 。

4

それを行うには、次の3つの方法があります。

1.アプリケーションサーバにアプリケーションをデプロイするためのEclipse/MyEclipseのを使用していない場合 -

あなたはMavenの戦争のプラグインを利用するために必要設定セクションでwarNameを指定することができます。

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

2.アプリケーション・サーバーにアプリケーションをデプロイするためのEclipse/MyEclipseのを使用している場合 -

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と、ルートコンテキストの値に反映変更を表示したり、缶上記た変更を

メモを表示するために、プロジェクトの展開アセンブリに移動する性質を投影するように移動し、プロパティ - >ウェブm2eclipseを使用して新しいプラグインを追加することで実現できます。

3.アプリケーションサーバー固有: あなたは、サーバーにとらわれないアプローチに従うことを好む必要がありますが、それを行うために必要とされるならば、あなたは、サーバー固有の設定ファイルでルートコンテキストのURLを設定することができます。詳細なアプローチを見つけることができますhere

関連する問題