Hi Konstantin,

thanks for your comprehensive answer. On the version I am using (7.0.28.0), the file pulse-java.jar is not present (using linux command updatedb and locate to check).

I found my solution from the following link...

http://stackoverflow.com/questions/20564070/failed-to-process-jar-found-at-url-jarfilebcprov-jdk15-1-46-jar-for-servle

And although this guy's problem stemmed from a different file, he solved it by increasing the memory available to Tomcat. When I installed this particular instance of T'cat, I had overlooked to increase available memory. I have not had the problem since doing that.

thanks again,
Peter




On 14-01-2015 11:15, Konstantin Kolinko wrote:
2015-01-13 14:18 GMT+03:00 Peter Lavin <lav...@cs.tcd.ie>:

Hi all, I have deployed a simple (Eclipse developed) webservice in a Tomcat7
container which is running on Debian, details as follows...

The error is as follows... (abridged, but it is complaining about missing a
file called pulse-java.jar)

INFO: Deploying web application archive
/var/lib/tomcat7/webapps/SecureServiceExample.war
Jan 12, 2015 3:03:01 PM org.apache.catalina.startup.TldConfig tldScanJar
WARNING: Failed to process JAR

[jar:file:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar!/]
for TLD files
java.io.FileNotFoundException:
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/pulse-java.jar (No such file
or directory)
        at java.util.zip.ZipFile.open(Native Method)
        at java.util.zip.ZipFile.<init>(ZipFile.java:215)
        at java.util.zip.ZipFile.<init>(ZipFile.java:145)

1) It is a warning, not an error.

2) If Tomcat attempts to scan the file, it means that the file is
listed by the System classloader (or some other classloader in
classloader hierarchy).

I do not know how system classpath is configured on your system.

It is either auto-detected (and thus the file exists, but maybe it is
not readable), or there is some system configuration file for java
that has a stale value. E.g. if you are launching it from within
Eclipse IDE  it may be listed in your Java Runtime configuration.

Some versions of Java 7 certainly do have pulse-java.jar.  It is in
"ext" directory, so it is not part of the core JRE, but an extension.
Maybe there is a separate package that installs it?

Quick googling finds a mention that it was removed between 7u51 and 7u71.
https://bugs.launchpad.net/ubuntu/+source/openjdk-7/+bug/1389493

3) Consider upgrading your Tomcat version.
https://wiki.apache.org/tomcat/FAQ/Linux_Unix#Q5

Current versions of Tomcat 7 do not scan pulse-java.jar for TLDs.

A) since 7.0.30 (r1377297) pulse-java.jar is explicitly included into
tomcat.util.scan.DefaultJarScanner.jarsToSkip value in
catalina.properties

B) since 7.0.38 (r1448831) Tomcat skips scanning of all JRE JARs as a whole.

4) The warning message and OOM are different errors. They are likely
not related. You have not cited the actual OOM message.

Though unneeded scanning of some large jar files is a waste of time
and may require a lot of memory. You can configure what files are
skipped via above mentioned
"tomcat.util.scan.DefaultJarScanner.jarsToSkip" setting.


I'm using a Debian GNU Linux 7 VM, running version.sh of Tomcat7 yields...

Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr/lib/jvm/java-7-openjdk-amd64
Using CLASSPATH:

/usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.28
Server built:   Apr 8 2014 08:47:08
Server number:  7.0.28.0
OS Name:        Linux
OS Version:     3.2.0-4-amd64
Architecture:   amd64
JVM Version:    1.7.0_65-b32
JVM Vendor:     Oracle Corporation

Tomcat7 was installed using apt-get. With the default memory settings
(around line 271 in catalina.sh) as follows...

CATALINA_OPTS="$CATALINA_OPTS $JPDA_OPTS"

The above error occurs.

When I made the following changes... (below) the error goes away

CATALINA_OPTS="-server $CATALINA_OPTS -Xms512m -Xms2048m
-XX:MaxPermSize=512m -Dcom.sun.management.jmxremote"

My question... pulse-java.jar does not exist in Java 7 although it did in Java 6. In Java 7, it is provided by a different file. It appears that the shortage of allocated memory manifests itself as a missing file. Has anyone else found anything like this or used a different solution to fix it?


Best regards,
Konstantin Kolinko

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to