The NPE has the following stacktrace (snipped) : java.lang.NullPointerException: in is null at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:100) at java.util.zip.ZipInputStream.<init>(ZipInputStream.java:79) at java.util.jar.JarInputStream.<init>(JarInputStream.java:76) at java.util.jar.JarInputStream.<init>(JarInputStream.java:62) at org.apache.wiki.ui.TemplateManager.listLanguages(TemplateManager.java:437) at org.apache.jsp.templates.default_.PreferencesTab_jsp._jspService(PreferencesTab_jsp.java:167) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
The NPE is a result of the fact the the JSPWiki.jar in the war file has another name when built with maven (jspwiki-2.9.1-SNAPSHOT.jar). The TemplateManager has a hardcode path to it in line 92 : public static final String I18NRESOURCE_PATH = "/WEB-INF/lib/JSPWiki.jar"; There are quite a few more diffs, dont know if they break jspwiki: (diff -u output on the sorted files of the maven and ant builds) : --- ff-ant.list 2013-05-01 20:13:27.508155331 +0200 +++ ff-mvn.list 2013-05-01 20:13:39.060155231 +0200 @@ -14,6 +14,7 @@ ./error ./error/Forbidden.html ./Error.jsp +./geronimo-web.xml ./Group.jsp ./images ./images/attachment_big.png @@ -29,6 +30,9 @@ ./images/xmlCoffeeCup.png ./images/xml.png ./Install.jsp +./jspwiki.policy +./jspwiki.tld +./jstl-fmt.tld ./LoginForm.jsp ./Login.jsp ./Logout.jsp @@ -36,8 +40,14 @@ ./Message.jsp ./META-INF ./META-INF/MANIFEST.MF +./META-INF/maven +./META-INF/maven/org.apache.incubator +./META-INF/maven/org.apache.incubator/jspwiki +./META-INF/maven/org.apache.incubator/jspwiki/pom.properties +./META-INF/maven/org.apache.incubator/jspwiki/pom.xml ./NewBlogEntry.jsp ./NewGroup.jsp +./oscache.tld ./PageInfo.jsp ./PageModified.jsp ./Preview.jsp @@ -187,6 +197,7 @@ ./Upload.jsp ./UserPreferences.jsp ./WEB-INF +./WEB-INF/classes ./WEB-INF/geronimo-web.xml ./WEB-INF/groupdatabase.xml ./WEB-INF/jspwiki.policy @@ -201,20 +212,21 @@ ./WEB-INF/lib/commons-httpclient-3.1.jar ./WEB-INF/lib/commons-io-1.4.jar ./WEB-INF/lib/commons-lang-2.6.jar +./WEB-INF/lib/commons-logging-1.0.4.jar ./WEB-INF/lib/commons-logging-api-1.0.4.jar ./WEB-INF/lib/ecs-1.4.2.jar ./WEB-INF/lib/freshcookies-security-0.60.jar +./WEB-INF/lib/jakarta-regexp-1.4.jar ./WEB-INF/lib/jaxen-1.1-beta-6.jar ./WEB-INF/lib/jdom-1.0.jar -./WEB-INF/lib/jrcs-diff-0.4.2.jar ./WEB-INF/lib/json-rpc-1.0.jar -./WEB-INF/lib/jsonrpc-1.0.jar -./WEB-INF/lib/JSPWiki.jar +./WEB-INF/lib/jspwiki-2.9.1-SNAPSHOT.jar ./WEB-INF/lib/jstl-1.1.2.jar ./WEB-INF/lib/log4j-1.2.14.jar ./WEB-INF/lib/lucene-core-3.6.0.jar ./WEB-INF/lib/lucene-highlighter-3.6.0.jar ./WEB-INF/lib/lucene-memory-3.6.0.jar +./WEB-INF/lib/lucene-queries-3.6.0.jar ./WEB-INF/lib/mail-1.4.jar ./WEB-INF/lib/nekohtml-0.9.4.jar ./WEB-INF/lib/org.suigeneris.jrcs.diff-0.4.2.jar @@ -222,7 +234,10 @@ ./WEB-INF/lib/oscache-2.3.jar ./WEB-INF/lib/sandler-0.5.jar ./WEB-INF/lib/standard-1.1.2.jar +./WEB-INF/lib/xercesImpl-2.4.0.jar +./WEB-INF/lib/xml-apis-1.3.04.jar ./WEB-INF/lib/xmlrpc-2.0.1.jar +./WEB-INF/lib/xpp3-1.1.3.4-RC3.jar ./WEB-INF/oscache.tld ./WEB-INF/userdatabase.xml ./WEB-INF/web.xml On 1 May 2013 01:51, Glen Mazza <glen.ma...@gmail.com> wrote: > On 04/30/2013 06:51 PM, Juan Pablo Santos Rodríguez wrote: > >> Hi! >> >> comments inline >> >> On Tue, Apr 30, 2013 at 11:42 PM, Glen Mazza <glen.ma...@gmail.com> >> wrote: >> >> Hi Team, a few notes: >>> >>> 1.) In your local {jspwiki_home}/lib directory, please delete these two >>> files: jsonrpc-1.0.jar and jrcs-diff-0.4.2.jar. When you build the >>> project again, Ant will download them again with names precisely matching >>> what is in the Maven Central repository. This way, when we do a diff -r >>> between the Maven and Ant WARs to check equivalence it won't keep >>> reporting >>> that Ant is missing two JARs and Maven is missing another two, when in >>> fact >>> they're the same but just with different names. >>> >>> ok, also, 'til we swicth to maven, the .classpath file needs to be >> updated >> too. >> > > Updated. > > > 2.) When we go to a two-tier pom.xml (Juan Pablo's work), we may wish to >>> have a "distribution" submodule similar to CXF here: >>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/> >>> <http:**//svn.apache.org/viewvc/cxf/**trunk/distribution/<http://svn.apache.org/viewvc/cxf/trunk/distribution/>>, >>> it would allow us to nicely store the LICENSE, Notice, and other static >>> text information away from the development folders: >>> http://svn.apache.org/viewvc/****cxf/trunk/distribution/src/**** >>> main/release/<http://svn.apache.org/viewvc/**cxf/trunk/distribution/src/**main/release/> >>> <http://svn.**apache.org/viewvc/cxf/trunk/** >>> distribution/src/main/release/<http://svn.apache.org/viewvc/cxf/trunk/distribution/src/main/release/> >>> **>. >>> >>> >>> didn't thought of it, but I think it's a great idea, would you mind >> opening >> a JIRA for this, so we can track it? >> >> > Done (JSPWiki-1776). > > > >> 3.) Does anyone know if we need src/images/jspwiki_alert_****icons.xcf? >>> (It's a GIMP image file), AFAICT by grepping the source code it's >>> completely unused by the project so I'd like to delete it. >>> >>> +1 on removing it >> >> > Gone now. (Gambling no one else will see a need for it.) > > > 4.) Do we need the "corepageszip" target in the build.xml? I don't know >>> what it's used for: >>> http://svn.apache.org/viewvc/****<http://svn.apache.org/viewvc/**> >>> incubator/jspwiki/trunk/build.****xml?revision=1477835&view=**** >>> markup#l642<http://svn.apache.**org/viewvc/incubator/jspwiki/** >>> trunk/build.xml?revision=**1477835&view=markup#l642<http://svn.apache.org/viewvc/incubator/jspwiki/trunk/build.xml?revision=1477835&view=markup#l642>>. >>> I'd like to remove it if we aren't using it anymore--fewer >>> distractions, the better. >>> >>> it's used as part of the dist target, to bundle the wikipages in the >> zipped >> bin distribution, one file per language. On a Maven equivalent they would >> be normal jar modules (jspwiki-[en|fi|de|etc.]-**wikipages), one per >> language, without java classes and the wikipages living at >> src/main/resources. Probably they should be submodules of i.e., >> jspwiki-wikipages, something alike the module for IT tests living at the >> maven branch >> >> > Perhaps the Maven assembly plugin can play a helpful role here, it > basically creates multiple JARs, all of which are a subset of whatever the > module itself would generate as a whole, I've used it before: > https://github.com/gmazza/**blog-samples/blob/master/web_** > service_tutorial/service/pom.**xml#L32<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/pom.xml#L32> > and > https://github.com/gmazza/**blog-samples/blob/master/web_** > service_tutorial/service/src/**assembly/jaxws-jar.xml<https://github.com/gmazza/blog-samples/blob/master/web_service_tutorial/service/src/assembly/jaxws-jar.xml> > > Regards, > Glen > >