We figured out our issue:

   # rpm -qp --nosignature --requires velocity-1.4-10.4.fc12.x86_64.rpm
   /bin/sh
   /bin/sh
   avalon-logkit
   bcel
   jakarta-commons-collections
   java-gcj-compat
   java-gcj-compat
   jdom >= 0:1.0-1
   libc.so.6()(64bit)
   libc.so.6(GLIBC_2.2.5)(64bit)
   libdl.so.2()(64bit)
   libgcc_s.so.1()(64bit)
   libgcc_s.so.1(GCC_3.0)(64bit)
   libgcj_bc.so.1()(64bit)
   libm.so.6()(64bit)
   libpthread.so.0()(64bit)
   librt.so.1()(64bit)
   libz.so.1()(64bit)
   log4j >= 0:1.1
   oro
   rpmlib(CompressedFileNames) <= 3.0.4-1
   rpmlib(FileDigests) <= 4.6.0-1
   rpmlib(PayloadFilesHavePrefix) <= 4.0-1
   rtld(GNU_HASH)
   servletapi5
   werken.xpath
   rpmlib(PayloadIsXz) <= 5.2-1

   # rpm -qp --nosignature --requires velocity-1.6.3-3.fc13.noarch.rpm
   /bin/sh
   /bin/sh
   bcel
   hsqldb
   jakarta-commons-collections
   jakarta-commons-lang
   jakarta-commons-logging
   jdom >= 0:1.0-1
   jpackage-utils
   jpackage-utils
   junit
   log4j >= 0:1.1
   oro
   rpmlib(CompressedFileNames) <= 3.0.4-1
   rpmlib(FileDigests) <= 4.6.0-1
   rpmlib(PayloadFilesHavePrefix) <= 4.0-1
   servletapi5
   werken-xpath >= 0.9.4-5.beta.12.3
   rpmlib(PayloadIsXz) <= 5.2-1

After capturing the output from each command listed above and redirecting to a file:

   # diff velocity-1.4 velocity-1.6
   3d2
   < avalon-logkit
   4a4
    > hsqldb
   6,7c6,7
   < java-gcj-compat
   < java-gcj-compat
   ---
    > jakarta-commons-lang
    > jakarta-commons-logging
   9,18c9,11
   < libc.so.6()(64bit)
   < libc.so.6(GLIBC_2.2.5)(64bit)
   < libdl.so.2()(64bit)
   < libgcc_s.so.1()(64bit)
   < libgcc_s.so.1(GCC_3.0)(64bit)
   < libgcj_bc.so.1()(64bit)
   < libm.so.6()(64bit)
   < libpthread.so.0()(64bit)
   < librt.so.1()(64bit)
   < libz.so.1()(64bit)
   ---
    > jpackage-utils
    > jpackage-utils
    > junit
   24d16
   < rtld(GNU_HASH)
   26c18
   < werken.xpath
   ---
    > werken-xpath >= 0.9.4-5.beta.12.3

We realized that while the "jakarta-commons-lang" package had always been present for our application, it had never been needed within the CLASSPATH in question (and we had mistakenly thought that our application's use of the Linux script entitled "/usr/bin/build-classpath" had been adding this package to the CLASSPATH), so we added it amongst the other new runtime dependencies required by version 1.6 of velocity.

Thanks for all of the help!

-- Matt

On 04/22/10 16:17, Nathan Bubna wrote:
Then you'll definitely need to have
org.apache.commons.lang.StringUtils in the classpath.

On Thu, Apr 22, 2010 at 3:56 PM, Matthew Harmsen<mharm...@redhat.com>  wrote:
On 04/22/10 15:18, Nathan Bubna wrote:
Well, it is somehow not in the classpath.  The JVM isn't lying when it
says that class isn't available, and Velocity 1.6.3 needs it.   Are
you perhaps using the velocity-1.4-dep.jar and then switching to
velocity-1.6.3.jar?  If so, you might try the velocity-1.6.3-dep.jar.


We are not using any velocity-dep jars at all.
On Thu, Apr 22, 2010 at 2:21 PM, Matthew Harmsen<mharm...@redhat.com>
  wrote:

On 04/22/10 14:05, Nathan Bubna wrote:

excuse me, i meant 2.4+

On Thu, Apr 22, 2010 at 2:04 PM, Nathan Bubna<nbu...@gmail.com>
  wrote:


http://velocity.apache.org/engine/devel/upgrading.html

Are you sure you have Commons Lang 2.1+?



Yes:

# rpm -q jakarta-commons-lang
jakarta-commons-lang-2.4-1.fc13.x86_64


On Thu, Apr 22, 2010 at 1:47 PM, Matthew Harmsen<mharm...@redhat.com>
  wrote:


Hi.

We have a tomcat 5.5 java application which has been successfully
using
velocity 1.4 for a number of years (most recently on Fedora 12).

When we attempted to run this application on Fedora 13 Beta (which
uses
velocity 1.6.3), we receive the following stack dump:

Apr 21, 2010 11:38:54 PM org.apache.catalina.core.ApplicationContext
log
INFO: Use of the properties initialization parameter 'properties' has
been
deprecated by 'org.apache.velocity.properties'
Apr 21, 2010 11:38:54 PM org.apache.catalina.core.ApplicationContext
log
SEVERE: StandardWrapper.Throwable
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
         at


org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(ResourceManagerImpl.java:165)
         at


org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:661)
         at


org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:251)
         at


org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:589)
         at


org.apache.velocity.runtime.RuntimeSingleton.init(RuntimeSingleton.java:229)
         at org.apache.velocity.app.Velocity.init(Velocity.java:107)
         at


org.apache.velocity.servlet.VelocityServlet.initVelocity(VelocityServlet.java:195)
         at


org.apache.velocity.servlet.VelocityServlet.init(VelocityServlet.java:162)
         at


org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1139)
         at


org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:791)
         at


org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:127)
         at


org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
         at


org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
         at


org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
         at


org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:548)
         at


org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
         at


org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
         at


org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
         at


org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
         at


org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
         at


org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
         at


org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
         at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.ClassNotFoundException:
org.apache.commons.lang.StringUtils
         at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
         at
java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
         ... 23 more

We have verified that the jakarta-common-lang jar file exists and is
readable from /usr/share/java, and when we downgraded velocity 1.6.3
to
1.4,
the application began running successfully.

Has anyone else encountered this or a similar issue?

The application needs to continue to support velocity 1.4 --- are
there
migration guidelines for this sort of issue that will allow the
application
to continue to work with velocity 1.4, but also work with velocity
1.6?

Thanks in advance,
-- Matt




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





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




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


Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to