1

war ファイルを Weblogic 10.3.5 にデプロイしようとしていますが、現在は機能しています。同じファイルが Tomcat 7 に正常にデプロイされ、アプリが正常に実行されます。

ただし、デプロイ プランなどのデフォルト設定を使用して Weblogic にデプロイしようとすると、私が持っている ServletContextListener 実装で NullPointerException エラーが発生します。私の質問は次のとおりです。weblogic.xml ファイルを追加するなど、アプリケーションで何かを変更する必要がありますか? 他に何か必要ですか?

展開された戦争コンテンツを含むフォルダーを展開先に指定すると、アプリケーションはいくつかのエラーで実行されますが、少なくともメイン画面は正常に開きます (これはアプレット ベースのアプリケーションです)。

**更新しました

アプリを起動しようとすると例外が発生します。

####<Oct 29, 2012 5:27:12 AM PDT> <Warning> <HTTP> <ip-0A2E9E72> <AdminServer> 
<[STANDBY] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'> 
<<WLS Kernel>> <> <> <1351513632838> <BEA-101162> 
<User defined listener artemispm.web.ui.gwt.server.A7WebStartupListener failed: 
java.lang.NullPointerException.java.lang.NullPointerException
at java.util.Hashtable.put(Hashtable.java:394)
at java.util.Properties.setProperty(Properties.java:143)
at java.lang.System.setProperty(System.java:729)
4

1 に答える 1

2

わかりました、私は問題が何であるかを理解しました。呼び出そうとしたときに Weblogic が null を返していた

String path = servletContextEvent.getServletContext().getRealPath("/");

次に、そのパス変数をシステム プロパティに追加しようとしましたが、Java ドキュメントによると、Null 値を HashMap に追加しようとすると NullPointerException がスローされます。

したがって、Web アプリケーションが実際のパスを取得できるようにするには、Weblogic のドメインからプロパティを構成する必要があります。Weblogic のコンソールに移動し、ドメイン名 -> [Web アプリケーション] タブをクリックしました。Archived Real Path Enabled オプションを見つけてチェックします。サーバーを再起動する必要があります。

みんな、ありがとう、

于 2012-10-31T17:32:11.260 に答える