2011-11-15 2 views
1

問題: 私はJetty webserver v 7.3が提供するWebアプリケーションを持っています。アプリケーションにJSPページがあります。 JDK(javacを持っている)がインストールされているシステムでJettyを実行すると、すべて正常に動作します。 JRE(javacを持っていない)を持つシステムに移植したい。私が桟橋を走るとき、私は誤りを得る。javacなしでJetty 7.3でJSPを実行

解決策: JSPをServletにあらかじめコンパイルします。このサーブレットを含むアプリケーションwarファイルを生成します。実行時にJSPをコンパイルおよび実行する代わりに、jettyがサーブレットを実行できるようにします。

JSPC antターゲットを使用してJSPをあらかじめコンパイルしようとしました。しかし、空の.javaファイルを生成しています。私の目標コードは以下の通りです。

<jspc srcdir="${web.dir}" 
      destdir="${build.classes.dir}" 
      package="x.y.z" 
      verbose="9" 
      classpathref="project.class.path"> 
     <include name="**/index.jsp"/> 
    </jspc> 

適切なアプローチを教えてください。私のアプローチが正しい場合は、antタスクを構成する際に間違いを指摘してください。

+0

もしあなたがこの作業をすることができないのであれば、http://wiki.eclipse.org/Jetty/Howto/Configure_JSP –

+0

に記載されているように、Jettyインストールにecjを追加することを検討してください。-debugフラグ?単純に空のファイルを与えるよりも、何かもっと役に立つと報告するかもしれません。 –

答えて

3

jspcタスクのアリを使用しないでください。これは廃止予定で、薄れていて、Tomcat 4がインストールされている(特定のバージョンのみ)。

代わりに、Tomcat(インストールされているJettyと同じJSP/Servlet仕様をサポートするバージョン)をインストールし、Tomcatが提供するAntタスク経由でJasperコンパイラを呼び出します。 An example for Tomcat 5 is available here

JSPページがサーブレットにコンパイルされると、サーブレットはクラスなどにコンパイルされます。この「ビルド環境」は、Jettyデプロイメント環境では必要ありません。

Also note that the commentary near the end of the ant supplied jspc task。それがまだ関連しているかどうかは分かりませんが、面白いです。

関連する問題