web-dev-qa-db-ja.com

コンテナTomcatサーバーにデプロイされた(Spring Boot)warのコンテキストパスを変更する。だからそれはdemo-0.01-SNAPSHOTではありません

デプロイされているwarの名前から変更するために、多くの構成を使用してサイトをデプロイしようとしました。これを簡単に行う方法はありますか?配備はどこか別の場所にあるTomcatに行われます。例えばbitnamiインスタンス

Application.propertiesの設定のさまざまな組み合わせを試しましたが、何も違いはありません。

 server.servlet.context-path=/a
    server.servlet.path=/b
    spring.webservices.path=/c
    server.contextPath=/m

戦争はdemo-0.0.01-SNAPSHOT.warと呼ばれ、webappsディレクトリにドロップすると、同じ名前のディレクトリが作成され、サイトには/demo-0.0.01-SNAPSHOTパスがあります。スプリングブートの時代には、これは簡単だと思っていましたが、私のような愚か者はまだうまくいっていません。あるいは、tomcatを組み込んだ埋め込みバージョンをデプロイして、最近実行するだけなのでしょうか?

(ところで私はroot.xmlも試しましたが、運はありません... Windowsボックスで間違っていない限り、最初に開発ボックスでテストし、Linuxを展開します)

任意の助けいただければ幸いです。

ありがとう

8
Denis

アプリケーションのコンテキストパスを指定するSpring Bootプロパティは、server.contextPathです。
しかし、スタンドアロンのTomcatインスタンスにWARをデプロイしているという事実は、それを使用することを許可していません。
この構成では、server.contextPathおよびコンテナ固有の他のプロパティ(server.portなど)を使用できません。これらは、埋め込まれたTomcatインスタンスで動作するように設計されています。

スタンドアロンのTomcatインスタンスは、Spring Bootによって提供されるこれらの機能を実際に制御し続けます。したがって、スタンドアロンのTomcatの構成ファイル(一般的にはserver.xmlまたはROOT.xmlの方法)から構成する必要があります。

8
davidxxx

MavenのfinalName設定をpom.xmlに追加すると、パッケージ化されたwarファイル名が作成されます。例えば。

<build>
...
<finalName>myapp</finalName>
</build>

パッケージ化されたファイル名はmyapp.warになります。 Tomcatにデプロイすると、コンテキストがファイル名に設定されます。

3
acpuma