に遭遇しています。将来他の誰かがWebSphere上にPlayアプリケーションをデプロイする同様の問題に遭遇した場合の手順を文書化します。
1 - 最初の問題は404でした.Websphereはルート(/)の処理要求(wtf?)を渡さないので、ルートファイルに同様のルートを定義するという修正があります。
GET /* Application.index
代わりに(または上)
GET / Application.index
2 - 次の問題は存在しない永続性(JPA)の方法に関連するエラーでした。 PlayはJPA 2.0を使用し、WebSphere 7はOpenJPA 1.0の独自のカスタム・バージョンを使用します。 a feature pack for JPA 2 and OSGIをインストールすることができます(OSGIの部分は不要なので、無視することができます)。フィーチャー・パックでは、WebSphere 7.0.0.9以降がインストールされている必要があります。これは、アプリケーションサーバーとバンドルされたJDKの両方に対応するフィックスパックを意味します。 I. JPAフィーチャー・パックをインストールする前に、サーバーとJDKの両方のフィックスパック21(最新の時刻または書面)を最初にインストールする必要があります。フィーチャーパックのインストールの最後に、プロファイルツールを実行するかどうかを尋ねるメッセージが表示されます。イエスと言う。このツールはあなたのプロフィール(戦争をインストールしようとしているサーバーノード)を "強化"させます。増やす!
3 - のWebSphereで動作しますwarファイルをビルドします。
play war <appFolder> -o <outputFolder> --zip --%prod
このアプリのIDが設定された<outputFolder>
(爆発戦争を)という名前のフォルダと<outputFolder>
の.warという名前の.warファイルを作成します訴える。爆発した戦争は削除することができます。
このコマンドをlinuxで実行すると、私のWEB-INFフォルダは名前のないフォルダ(つまり、warファイルのルートレベルから下にあるレベル)に置かれます。つまり、/ WEB-INF /の代わりに、// WEB-INF /のような構造体を作成しています。とにかく、私はそれを適切に再圧縮することによって、現在手動で修正しています。誰もこの問題を回避する方法を知っていますか?
4 - 管理コンソールにすべてのデフォルト設定を適用してwarファイルをWebSphereにインストールするか、実行していることが分かっている場合は変更してください。
5 - この手順が必要な場合(私の特定のアプリケーションでは何も変わらない)、私は完全にはわかりませんが、PlayアプリをWebSphereで稼働させる方法についてオンラインで読んだアドバイスは、 。 Meh、それは傷つけることはできません。インストールされているアプリをクリックします。 「クラスの読み込みと更新の検出」リンクをクリックします。次に、「ローカルクラスローダーでロードされたクラス(親の最後)」オプションを選択します。 OK。セーブ。
6 - あなたのアドレスにブラウザのページを開きます(websphereをローカルで実行している場合はlocalhost:9080)。この時点でうまくいくはずです!うまくいけば。がんばろう。
私が使用しているコンテキストはデフォルト/ 1です。私のweb.xmlおよびWebsphere管理コンソールのオーバーライドには、/がコンテキストルートとして/にあります。 – DaveS