私はEclipseで動的Webプロジェクトを開発しました。今私は私のブラウザを通して次のURLを使ってそれにアクセスすることができます:
http://localhost:8080/MyDynamicWebApp
アクセスURLをに変更したいのですが。
http://localhost:8080/app
コンテキストルートをプロジェクトの[プロパティ]、[Webプロジェクト設定]、[コンテキストルート]から変更しました。
しかし、それは機能していません。 Webアプリには以前と同じアクセスURLがあります。 Tomcatにアプリケーションを再デプロイし、Tomcatを再起動して、実行すべきすべてのことを実行しましたが、アクセスURLは以前と同じです。
WAR
ファイルに添付されたserver.xml
ファイルがないことがわかりました。それでは、Tomcatが私のWebアプリケーションのコンテキストルートが/MyDynamicWebApp
であると判断し、そのURLを介してアプリケーションにアクセスできるようにしているのはどうしてでしょうか。
私はあなたが今までに進んだと確信しています、しかし私はとにかく答えたいと思いました。
これらの回答のいくつかは回避策を示しています。実際に起こらなければならないのは、新しいURIを「アクティブにする」ためにプロジェクトをクリーンアップして再公開することです。これは、(サーバービューで)サーバーを右クリックして、「クリーン」を選択することによって行われます。次に起動します(または再起動します)。ここでの他の答えの大部分は、あなたが事実上これを達成することをすることを提案します。
変更するファイルは、ワークスペースに複数のサーバーがある場合を除き、workspace/.metadata/.plugins/org.Eclipse.wst.server.core/publish/publish.dat
です。その場合、同じパス上のpublishN.dat
になります。
これが誰かに役立つことを願っています。
これが正しいエチケットであるかどうかわからない - 私はEclipse Indigoのための正確なステップを与えるためにこの答えを編集している。
プロジェクトのプロパティで、Webプロジェクト設定を選択します。
コンテキストルートをappに変更します。
ウィンドウ>ビューの表示>サーバーを選択します。
赤い四角のボックスをクリックしてサーバーを停止するか( "Stop the server"ツールチップ)、またはサーバーリストを右クリックして "Stop"を選択します。
使用したいサーバー上で、コンテキストクリックして "Clean…"を選択します。
この確認ダイアログボックスで[OK]をクリックします。
これで、次のような新しい "app" URLを使ってアプリを実行できます。
http://localhost:8080/app/
実稼働サーバー上でEclipseの外部でこれを行うのはさらに簡単です - > warファイルの名前を変更します。 VaadinアプリをWARファイルとしてエクスポートします(ファイル>エクスポート> Web> WARファイル)。 WARファイルをWebサーバーのTomcatなどのサーブレットコンテナに移動します。 WARファイルの名前を、この場合はapp.warに変更します。サーブレットコンテナを起動すると、Tomcatなどのほとんどがアプリを自動デプロイします。これにはwarファイルをフォルダに展開することも含まれます。この場合、appという名前のフォルダが表示されます。行ってもいいはずです。 URLをテストしてください。 * example.comなどのドメインの場合、これは次のようになります。
http://www.example.com/app/
視覚的な追加機能を使用している場合、Vaadinツールキットのプログラマーは自分のウィジェットセットを再構築する必要があるかもしれません。
プロジェクトプロパティのコンテキストルートを変更した後は、TomcatからWebアプリケーションを削除し(サーバーのコンテキストメニューで[追加と削除]を使用)、アプリケーションを再デプロイしてからアプリケーションを再追加して再デプロイする必要があります。それは私のために働きました。
あなたが打たれた場合は、他の選択肢があります:サーバービューでTomcatサーバーを選択します。そのサーバーをダブルクリックする(またはコンテキストメニューで開くを選択する)と、モジュールページがあるマルチページエディタが表示されます。ここであなたはあなたのモジュールのルートコンテキスト(このページではPathと呼ばれます)を変更することができます。
EclipseからTomcatを実行している場合、実際のTomcatインストールの設定は使用されません。これは、 "Servers"プロジェクトの下に作成および保存されたTomcat構成を使用します。 Eclipseワークスペースを見れば、 "Servers"というプロジェクトが見えるはずです。その「サーバー」プロジェクトを展開すると、server.xmlに出くわすでしょう。このファイルを開いて一番下までスクロールすると、このような何かが見えるはずです -
<Context docBase="abc" path="/abc" reloadable="true" source="org.Eclipse.jst.jee.server:abc"/>
ここでは、プロジェクトのコンテキストパスを他のものに変更するだけです。
お役に立てれば。
Russ Batemanが提案した解決策を試してみました
http://localhost:8080/Myapp
からhttp://localhost:8080/somepath/Myapp
しかし私のlocalmachine上のserverの個々のインスタンスではなくconfigを保持することができる* .warファイルを持つ必要があったのでDidntは私のために働きました。
そのためには、WEB-INFにjboss-web.xmlを配置する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2008 Object Computing, Inc.
All rights reserved.
-->
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 4.2//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
<jboss-web>
<context-root>somepath/Myapp</context-root>
</jboss-web>
私は答えがすでに受け入れられているのを知っています。しかし、Mavenを使用している人が同じことを達成したい場合は、finalNameをmaven buildに設定し、mavenを実行したい名前に設定してください - >プロジェクトを更新する
<build>
<finalName><any-name></finalName>
<plugins><provide-plugins-needed></plugins>
<build>
Apache Tomcatは、プロジェクトコンテキストパスをserver.xmlパスに保持します。 Eclipse上の各Webプロジェクトには、そこから変更できるタグがあります。
サーバーに2つか3つのプロジェクトがデプロイされているとします。それぞれのコンテキストパスはに格納されます。このタグは、Eclipse上で作成されたサーバー内のserver.xmlファイルにあります。
私はサーバー内のコンテキストルートパスにそこのための一つのプロジェクトがあります:
<Context docBase="Test" path="/test" reloadable="true" source="org.Eclipse.jst.jee.server:Test1"/>
このパスは、Webアプリケーションのコンテキストパスを表します。このパスを変更すると、Webアプリのコンテキストパスが変わります。
プロジェクトがMavenの場合は、pom.xmlの「finalName」をMavenとして更新し、これは私のために機能しました。
Glassfishでは、ファイルWEB-INF/glassfish-web.xmlも変更する必要があります。
<glassfish-web-app>
<context-root>/myapp</context-root>
</glassfish-web-app>
そのため、"Run as> Run on server"をクリックすると正しく開きます。
あなたが自分のアプリケーション名を全くルートコンテキストに入れたくないのなら、Eclipseに "/"(引用符は使わず、スラッシュだけ)を入れてください - > Web Project Settings - >コンテキストルートエントリ
これでWebアプリケーションは--- http:// localhost:8080 / にデプロイされます。
もちろん、これはあなたがサーバ上で走らせようとしている他のウェブアプリケーションとの問題を引き起こすでしょう、それでそれに向かって進んでください。
私は永遠に一緒にそれをまとめるために持っていた...だからこの記事は8歳ですが、うまくいけばこれはまだ誰かに役立つでしょう!
Eclipseを使用してアプリケーションをデプロイする場合このMavenプラグインを使用することができます
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-Eclipse-plugin</artifactId>
<version>2.10</version>
<configuration>
<wtpversion>2.0</wtpversion>
<wtpContextName>newContextroot</wtpContextName>
</configuration>
</plugin>
プロジェクトのルートフォルダに移動してcmdプロンプトを開き、その場所で次のコマンドを入力します。
mvn Eclipse:eclipse -Dwtpversion = 2.0
あなたはEclipseを再起動するか、サーバービューでサーバーを削除してagianを作成する必要があるかもしれません。この演習は現実の世界では意味がありますが、うまくいきます。
Javaプロジェクトで、.settingsフォルダーを開きます。そこに「org.Eclipse.wst.common.component」という名前のファイルがあります。タグ<wb-module deploy-name = "NEW_NAME">を変更します。
また、プロジェクトプロパティのコンテキストルートを変更したい場合があります。