5

OpenNMS で JSP ページをデバッグしているときに、この問題に遭遇し続けます。Jetty wiki では、webdefault.xml の keepGenerated ( http://docs.codehaus.org/display/JETTY/KeepGenerated ) について説明していますが、これが組み込みセットアップでどのように機能するかは不明です。

4

3 に答える 3

3

これがかなり古いことは知っていますが、インターネット上のどこにも答えが見つからず、これが簡単になったようには見えません. うまくいけば、これは誰かを助けるでしょう:

jetty-version.jar から webdefault.xml を抽出します。私のものは :C:\Documents and Settings\JB.m2\repository\org\mortbay\jetty\jetty\6.1.22\jetty-6.1.22.jar 内org/mortbay/jetty/webapp/webdefault.xml ファイル

プロジェクト ディレクトリに webdefault.xml を配置します。

webdefault.xml を編集して、次の行を追加します。

<servlet id="jsp">
 ....
  <init-param>
    <param-name>keepgenerated</param-name>
    <param-value>true</param-value>
  </init-param>

以下を maven pom.xml 構成に追加します。

<plugin>
  <groupId>org.mortbay.jetty</groupId>
  <artifactId>maven-jetty-plugin</artifactId>
  <configuration>    
    <webDefaultXml>webdefault.xml</webDefaultXml>
  </configuration>
</plugin>

Maven ゴールを実行すると、mvn jetty:run私の JSP コードは target\work\jsp\org\apache\jsp\WEB_002dINF\jsp に保持されるようになりました

于 2011-11-28T15:00:11.037 に答える
2

Jetty 6 を使用している場合は、次のコードを使用できます。

String webApp = "./web/myapp"; // Location of the jsp files
String contextPath = "/myapp";
WebAppContext webAppContext = new WebAppContext(webApp, contextPath); 
ServletHandler servletHandler = webAppContext.getServletHandler();
ServletHolder holder = new ServletHolder(JspServlet.class);
servletHandler.addServletWithMapping(holder, "*.jsp");
holder.setInitOrder(0);
holder.setInitParameter("compiler", "modern");
holder.setInitParameter("fork", "false");

File dir = new File("./web/compiled/" + webApp);
dir.mkdirs();
holder.setInitParameter("scratchdir", dir.getAbsolutePath());
于 2008-09-18T12:51:25.610 に答える
0

すでにダンプされています。たとえば、というファイルがある場合index.jsp、というファイルが作成されますindex_jsp.java 。作業ディレクトリでそのようなものを検索してください。

于 2008-09-18T12:48:16.867 に答える