Thanks, Harry, how did you get that stacktrace to appear? I couldn't find it anywhere--not in catalina.out, not in the jspwiki log file... Maybe I need to adjust the logging level (where to do?).

I wonder if TemplateManager *must* be given the name of the JAR file to read (kind of yucky), if it just can't access the files it wants to look at from the classpath. As we just have one pom, I don't have the flexibility yet in naming the JAR as I do the WAR, so I would have to hardcode TemplateManager to the Maven name, and update the Ant build.xml to use the long name. Maven has filtering, if need be, so the classfile can update to whatever the project version is if we have to go that route.

As for the other differences between the WARs, (a) the JARs: Maven downloads a few different different sub-dependencies by default compared to what we earlier hardcoded for Ant (as viewable by running mvn dependency:tree), I wouldn't want to put in Maven overrides unless we know there's a problem with including them. Generally, when we formally declare a dependency on A and Maven Central says A needs B and C, then we should just rely on the default of all three unless we know otherwise. (b) META-INF: doesn't matter, Maven constructs a different META-INF compared to what Ant does including the POM and other config info; and (c) these files:

+./geronimo-web.xml
+./jspwiki.policy
+./jspwiki.tld
+./jstl-fmt.tld
+./oscache.tld


I goofed up here -- I need to put them under webapp/WEB-INF not just webapp and the pom.xml is wrongly copying them into two locations. I'll get this fixed first.

and (d) The WEB-INF/classes directory is empty (Maven apparently creates it by default) so that one doesn't matter.

Thanks,
Glen


On 05/01/2013 02:31 PM, Harry Metske wrote:
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 @@



@@ -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
  ./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



Reply via email to