1. ホーム
  2. エクリプス

[解決済み] Eclipseで動的なWebプロジェクトのコンテキストルートを変更する方法は?

2022-04-13 03:15:45

質問

私はEclipseで動的なWebプロジェクトを開発しました。 私は以下のURLを使ってブラウザからアプリにアクセスすることができます。

http://localhost:8080/MyDynamicWebApp

アクセスURLを変更したい。

http://localhost:8080/app

そのために、プロジェクトの "Properties | Web Project Settings | Context Root" から、コンテキストルートを変更しました。 しかし、WebアプリのアクセスURLは同じままです。Tomcat上にアプリケーションを再デプロイし、Tomcatを再起動しましたが、アクセスURLは先ほどと同じです。

がないことがわかりました。 server.xml というファイルが添付されています。 WAR ファイルを作成します。がない場合は server.xml ファイルが添付されている場合、Tomcat はどのようにして、私の Web アプリのコンテキストルートが /MyDynamicWebApp このコンテキストルートのURLからアプリケーションにアクセスすることができますか?

解決方法は?

もう移動していると思いますが、とりあえず回答しておきます。

これらの回答の中には、回避策を示すものもあります。実際に起こるべきことは、新しいURIを有効にするために、プロジェクトをクリーンアップして再パブリッシュすることです。これは、サーバーを右クリックし(Servers ビューで)、Clean を選択することで行えます。その後、起動(または再起動)してください。ここでの他の回答のほとんどは、事実上これを達成するための方法を提案しています。

変更しているファイルは workspace/.metadata/.plugins/org.eclipse.wst.server.core/publish/publish.dat ただし、ワークスペースに複数のサーバーがある場合は、次のようになります。 publishN.dat を同じパスで実行します。

誰かのお役に立てれば幸いです。


これが適切なエチケットかどうかは分かりませんが、Eclipse Indigoの正確な手順を示すためにこの回答を編集しています。

  1. プロジェクトの プロパティ を選択します。 ウェブプロジェクト設定 .

  2. 変更 コンテキストのルート から アプリ .

  3. 選択 ウィンドウ > ビューを表示 > サーバー .

  4. 赤い四角いボックス("Stop the server"ツールチップ)をクリックするか、サーバ一覧上でコンテキストクリックし、"Stop"を選択してサーバを停止してください。

  5. 使用するサーバーで、コンテキスト・クリックして、"Clean..."を選択します。

  6. この確認ダイアログボックスで[OK]をクリックします。

これで、新しい "app" の URL で、次のようにアプリを実行できます。

<ブロッククオート

http://localhost:8080/app/

Eclipseの外で、本番サーバーでこれを行うのは、さらに簡単です --> warファイルの名前を変更します。VaadinアプリをWARファイルとしてエクスポートする ( ファイル > エクスポート > ウェブ > WAR ファイル ). WARファイルを、TomcatなどのWebサーバーのサーブレットコンテナに移動します。WARファイルの名前を変更します。 app.war . サーブレットコンテナを起動すると、Tomcat などの多くはアプリを自動展開し、war ファイルをフォルダに展開することを含みます。この場合、以下のような名前のフォルダが表示されます。 アプリ . これで問題ないはずです。URLをテストしてください。このような*example.com"のようなドメインの場合、これは次のようになります。

<ブロッククオート

http://www.example.com/app/

Vaadinツールキットのプログラマは、ビジュアルアドオンを使用している場合、ウィジェットセットを再構築する必要があるかもしれません。