2011-10-17 6 views
5

は私が3.1GlassFish 3.1では、サーバのルートにWARを含むEARをどのように配備するのですか?

現在のGlassFishにデプロイするよWARとEARを持っている、アプリケーションがローカルホストで動作します:8080/myappに/ index.jsf私はそれがローカルホスト上で実行したい

:8080 /これを実現するために

index.jsf、私はGlassFish管理UIを使用して、私のEARをデプロイする場合、それは私与え=「/」

のcontextRootへのcontextRoot「myappに」からEARでのapplication.xmlを変更しましたデプロイメントエラーが発生した場合、管理UIを参照しようとすると、デフォルトのGlassFishホームページが表示されます。復旧するには、コマンドラインからasadminを使用してEARをアンデプロイしてから、restart-domainを実行してサーバーを再起動する必要があります。

私の理論は、自分のアプリケーションとGlassFish管理UIが両方ともルート "/"上で動作しているということです。

質問:WebアプリケーションをGlassFish 3.1のルートに配置する正しい方法は何ですか?それとも悪い練習ですか?

ありがとうございます!

ロブ

+0

私はあなたの「手順」に従っていると思います。あなたは見ている。私はMac OS X 1.7.2、GF 3.1.1です。あなたの手順はちょうど私のためにうまくいく...彼らは少し曖昧ですが、私はそれらを誤って解釈するかもしれないので、私は問題を再現することができません。 「私にデプロイメントエラーが発生する」という詳細については、この質問に役立つかもしれません。 – vkraemer

+0

@vkraemer - 私は私の問題の新しいより詳細な質問を始めました、それを訪問してください、どんな助けも大歓迎です! http://stackoverflow.com/questions/7878645/errors-deploying-war-in-root-context-on-glassfish-3-1 –

答えて

2

ロブ、

あなたは、あなたがコンテキストルートを選択するasadminのために引数を使用することができ、コマンドラインから展開する場合。これは私があなたに説明する問題を与えたことはありません。

$のasadminが--contextrootを展開「/」your.war

あなたの他のオプションは、デフォルトのWebモジュールを選択するための仮想サーバーの設定の下にありますが、個人的に私はちょうど/ 1つのアプリケーションを設定することを好みます。

ケビン

+0

私は、--contextrootがearファイルで動作することを確信していません... – vkraemer

+0

@ケビン - 私はさらに私の問題を詳述している、取ってください:http://stackoverflow.com/questions/7878645/errors-deploying-war-in-root-context-on-glassfish-3-1 –

+0

doesn ' EARのために働く... – Damian

3

easisest方法はglassfish-web.xmlを有しています。

これは私のWEB-INFディレクトリにある私の設定です。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app> 
    <context-root>/myapplication</context-root> 
</glassfish-web-app> 

注意してください、耳の代わりに戦争を使用することを検討する必要があります。 JavaEE6のリファレンス実装であるGlassfish 3.xには、EJBで戦争を使用する機能があります。つまり、耳の束なしでejbで戦争を簡単に使うことができます。それはあなたのアプリケーションのサイズを大幅に減らすだけでなく、クラスローディングの問題、メモリフットプリントなどの面でも良い練習をすることができます。

関連する問題