SAStrutsをSDLoaderで動かそうとしたら ServletException。
javax.servlet.ServletException: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZLjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)V at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275) at javax.servlet.http.HttpServlet.service(HttpServlet.java:688) at sdloader.javaee.impl.FilterChainImpl.doFilter(FilterChainImpl.java:50) at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79) at sdloader.javaee.impl.FilterChainImpl.doFilter(FilterChainImpl.java:48) ~略~
エラーメッセージの内容が、TagAttributeInfoのコンストラクタで何かあったらしいので、調べると。
SAStrutsが同梱している geronimo-jsp_2.0_spec-1.0.jar は JSP2.0。
SDLoaderの中に含まれるJasperは、JSP2.1。
なので、geronimo-jsp_2.0_spec-1.0.jar をはずして起動で解決。
と思ったら、JSP2.0版のSDLoaderがあった。
なお、JSPがないもの、JSP20を使用するものは、Downloadsのタブの一覧からダウンロードできます。
sdloader - Project Hosting on Google Code
これをいれたら、geronimo-jsp_2.0_spec-1.0.jar を入れてても普通に動いた。。
以下は、SAStrutsをSDLoaderで起動するコード。
package boot; import sdloader.SDLoader; import sdloader.javaee.WebAppContext; import sdloader.util.Browser; public class Main { public static void main(String[] args) { String contextPath = "/sa-struts-tutorial"; SDLoader loader = new SDLoader(true); loader.addWebAppContext( new WebAppContext(contextPath, "src/main/webapp")); loader.setPort(8080); loader.start(); Browser.open("http://localhost:" + loader.getPort() + contextPath); } }
댓글 없음:
댓글 쓰기