Prep for dependency on libtomcat7
Doesn't work yet, breaks susidns.
glassfish-javaee for jstl.jar and standard.jar version 1.2 won't work with tomcat7,
it's ancient and not compatible with recent el libs.
Add back option to depend on libjakarta-taglibs-standard and libjstl1.1-java which are version 1.1.2,
but not clear if they will work with tomcat7 either, even though they are
dependencies of libjetty8-extra-java.
We switched from JSTL 1.1.2 to JSTL 1.2 when we went from Jetty 5 to Jetty 6 in 2012.
1.2 libs are not available anywhere except for Glassfish, and
Debian only has the ancient Java EE 5 Glassfish 2.1.
Not clear there's any way to get susidns (and bote) to work with both Tomcat 6 and 7.
- Fix wrong jsp-api version
- Fix other minor errors in install and links files.
- Log stack trace for Jetty warnings if log level is WARN
- SusiDNS: Move standard.jar and jstl.jar out of WEB-INF/lib, where Tomcat 7 build refuses to find them
This commit is contained in:
zzz
2016-04-07 14:38:30 +00:00
parent 5c8eab9dfb
commit 094cf14d4a
16 changed files with 154 additions and 66 deletions

View File

@@ -260,6 +260,10 @@
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/tomcat-api.jar" />
<!-- jasper-el.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jasper-el.jar" />
<pathelement location="../../jetty/jettylib/commons-logging.jar" />
<pathelement location="../../jetty/jettylib/commons-el.jar" />
<pathelement location="${ant.home}/lib/ant.jar" />
@@ -286,6 +290,10 @@
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/tomcat-api.jar" />
<!-- jasper-el.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jasper-el.jar" />
<pathelement location="../../jetty/jettylib/commons-logging.jar" />
<pathelement location="../../jetty/jettylib/commons-el.jar" />
<pathelement location="build/i2ptunnel.jar" />

View File

@@ -222,6 +222,16 @@
<target name="copyTomcatLib" depends="mkJettylibdir, copyTomcatLib1, copyTomcatLib2, copyTomcatLib3" />
<target name="copyTomcatLib1" unless="${with-libservlet2.5-java}" >
<condition property="with-libtomcat-java" >
<or>
<istrue value="${with-libtomcat6-java}" />
<istrue value="${with-libtomcat7-java}" />
</or>
</condition>
</target>
<target name="copyTomcatLib2" unless="${with-libtomcat-java}" >
<!-- EL libs.
Tomcat 6 has EL 2.1.
Tomcat 7 / libservlet3.0 has EL 2.2.
@@ -232,9 +242,7 @@
<zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper-el.jar" />
<zipfileset excludes="META-INF/**/*" src="${tomcat.lib}/el-api.jar" />
</jar>
</target>
<target name="copyTomcatLib2" unless="${with-libtomcat6-java}" >
<jar destfile="jettylib/jasper-runtime.jar" filesetmanifest="merge" >
<zipfileset excludes="META-INF/LICENSE META-INF/NOTICE" src="${tomcat.lib}/jasper.jar" />
<zipfileset src="${tomcat2.lib.small}/tomcat-coyote-util.jar" />
@@ -255,7 +263,7 @@
</jar>
</target>
<target name="copyTomcatLib3" unless="${with-libtomcat7-java}" >
<target name="copyTomcatLib3" unless="${with-libtomcat-java}" >
<jar destfile="jettylib/jasper-compiler.jar" >
<manifest>
<attribute name="Note" value="Intentionally empty" />

View File

@@ -115,10 +115,14 @@ public class I2PLogger implements Logger
{
// some of these are serious, some aren't
// no way to get it right
if (th != null)
_log.logAlways(Log.WARN, msg + ": " + th);
else
if (th != null) {
if (_log.shouldLog(Log.WARN))
_log.warn(msg, th);
else
_log.logAlways(Log.WARN, msg + ": " + th);
} else {
_log.logAlways(Log.WARN, msg);
}
}
private void format(String msg, Object arg0, Object arg1)

View File

@@ -347,6 +347,10 @@
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/tomcat-api.jar" />
<!-- jasper-el.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jasper-el.jar" />
<pathelement location="../../jetty/jettylib/commons-logging.jar" />
<pathelement location="../../jetty/jettylib/commons-el.jar" />
<pathelement location="${ant.home}/lib/ant.jar" />
@@ -382,6 +386,8 @@
<pathelement location="../../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/tomcat-api.jar" />
<pathelement location="../../jetty/jettylib/commons-logging.jar" />
<pathelement location="../../jetty/jettylib/commons-el.jar" />
<pathelement location="../../jetty/jettylib/org.mortbay.jetty.jar" />

View File

@@ -10,14 +10,24 @@
<path id="cp">
<pathelement path="${classpath}" />
<pathelement location="${bin}" />
<!-- commons-el MUST be first to ensure we get the right (2.2) version
- otherwise:
- Exception in thread "main" java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;
-->
<pathelement location="${lib}/commons-el.jar" />
<pathelement location="${lib}/javax.servlet.jar"/>
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="${lib}/jsp-api.jar" />
<pathelement location="WEB-INF/lib/jstl.jar" />
<pathelement location="WEB-INF/lib/standard.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="${lib}/tomcat-api.jar" />
<!-- tomcat-util.jar only present for debian builds -->
<pathelement location="${lib}/tomcat-util.jar" />
<pathelement location="lib/jstl.jar" />
<pathelement location="lib/standard.jar" />
<pathelement location="${lib}/jasper-runtime.jar" />
<pathelement location="${lib}/commons-logging.jar" />
<pathelement location="${lib}/commons-el.jar" />
<!-- jasper-el.jar only present for debian builds -->
<pathelement location="${lib}/jasper-el.jar" />
<pathelement location="${ant.home}/lib/ant.jar" />
<pathelement location="../../../core/java/build/i2p.jar" />
</path>
@@ -62,7 +72,7 @@
</javac>
<copy file="WEB-INF/web-template.xml" tofile="WEB-INF/web-out.xml" />
<loadfile property="jspc.web.fragment" srcfile="WEB-INF/web-fragment.xml" />
<replace file="WEB-INF//web-out.xml">
<replace file="WEB-INF/web-out.xml">
<replacefilter token="&lt;!-- precompiled servlets --&gt;" value="${jspc.web.fragment}" />
</replace>
</target>

View File

@@ -26,7 +26,9 @@
<pathelement location="../../core/java/build/obj" />
<pathelement location="../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<pathelement location="../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../jetty/jettylib/tomcat-api.jar" />
<pathelement location="../jetty/jettylib/jetty-i2p.jar" />
</classpath>
</depend>
@@ -41,11 +43,13 @@
destdir="./src/WEB-INF/classes">
<compilerarg line="${javac.compilerargs}" />
<classpath>
<pathelement location="../../core/java/build/i2p.jar" />
<pathelement location="../jetty/jettylib/javax.servlet.jar" />
<!-- jsp-api.jar only present for debian builds -->
<pathelement location="../../jetty/jettylib/jsp-api.jar" />
<pathelement location="../jetty/jettylib/jsp-api.jar" />
<!-- tomcat-api.jar only present for debian builds -->
<pathelement location="../jetty/jettylib/tomcat-api.jar" />
<pathelement location="../jetty/jettylib/jetty-i2p.jar" />
<pathelement location="../../core/java/build/i2p.jar" />
</classpath>
</javac>
</target>