cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <and...@objectstyle.org>
Subject Re: cayenne 3.1 B3 dependencies missing commons-lang-2.6
Date Thu, 19 Dec 2013 11:31:12 GMT
Aha, JdbcPkGenerator uses SQLTemplate internally. Should probably change that. 

FWIW, Velocity dependency bothers me more than the recently discussed commons-logging.

A.

On Dec 19, 2013, at 4:37 AM, Mike Kienenberger <mkienenb@gmail.com> wrote:

> The commons-lang dependency looks like it may have to do with primary
> key generation.  This is an h2 database using the default pk generator
> -- I haven't taken the effort to set up sequences yet.
> 
> Exception in thread "main" java.lang.NoClassDefFoundError:
> org/apache/commons/lang/StringUtils
>    at org.apache.velocity.runtime.VelocimacroFactory.initVelocimacro(VelocimacroFactory.java:189)
>    at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:261)
>    at org.apache.cayenne.access.jdbc.SQLTemplateProcessor.initVelocityRuntime(SQLTemplateProcessor.java:84)
>    at org.apache.cayenne.access.jdbc.SQLTemplateProcessor.<clinit>(SQLTemplateProcessor.java:58)
>    at org.apache.cayenne.access.jdbc.SQLTemplateAction.performAction(SQLTemplateAction.java:102)
>    at org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
>    at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:280)
>    at org.apache.cayenne.dba.JdbcPkGenerator.longPkFromDatabase(JdbcPkGenerator.java:310)
>    at org.apache.cayenne.dba.JdbcPkGenerator.generatePk(JdbcPkGenerator.java:268)
>    at org.apache.cayenne.access.DataDomainInsertBucket.createPermIds(DataDomainInsertBucket.java:171)
>    at org.apache.cayenne.access.DataDomainInsertBucket.appendQueriesInternal(DataDomainInsertBucket.java:76)
>    at org.apache.cayenne.access.DataDomainSyncBucket.appendQueries(DataDomainSyncBucket.java:78)
>    at org.apache.cayenne.access.DataDomainFlushAction.preprocess(DataDomainFlushAction.java:188)
>    at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:144)
>    at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:853)
>    at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:817)
>    at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:877)
>    at org.apache.cayenne.access.DataDomain.onSyncNoFilters(DataDomain.java:814)
>    at org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:1031)
>    at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:785)
>    at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:817)
>    at org.apache.cayenne.access.DataContext.commitChanges(DataContext.java:756)
>    at org.gamenet.duplicateFileOrganizer.DuplicateFileOrganizer.categorizeDirectory(DuplicateFileOrganizer.java:50)
>    at org.gamenet.duplicateFileOrganizer.DuplicateFileOrganizer.main(DuplicateFileOrganizer.java:25)
> Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
>    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>    at java.security.AccessController.doPrivileged(Native Method)
>    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
>    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>    ... 24 more
> 
> On Wed, Dec 18, 2013 at 11:59 AM, Mike Kienenberger <mkienenb@gmail.com> wrote:
>> On Wed, Dec 18, 2013 at 11:43 AM, Andrus Adamchik
>> <andrus@objectstyle.org> wrote:
>>> “Got hit” in what way?
>> 
>> Got hit with a ClassNotFound exception if I remember right.
>> I'll try to provide a stack trace the next time I turn that system on.
>> 
>> 
>>> Are you using Maven?
>> 
>> No, this is a simple just-started project in Eclipse at this point
>> with no build system.
>> 
>> 
>>> On Dec 18, 2013, at 7:21 PM, Mike Kienenberger <mkienenb@gmail.com> wrote:
>>> 
>>>> Yes, commons-lang is from velocity.  I'm not using SQLTemplate nor
>>>> EJBQL so far as I can tell, but I still got hit with the dependency on
>>>> a new 3.1 project.   I haven't been required to have oro, only
>>>> commons-lang.
>>>> 
>>>> On Wed, Dec 18, 2013 at 1:53 AM, Andrus Adamchik <andrus@objectstyle.org>
wrote:
>>>>> Cayenne does not have commons-lang dependency. I think it is a dependency
of Velocity. Velocity 1.6.3 depends on commons-lang 2.4 (and also oro 2.0.8 - why in the world
people would still use oro?)
>>>>> 
>>>>> So commons-lang will be needed if you are running SQLTemplate and EJBQL
queries (that are using Velocity). Yeah, I think we need to somehow address that either in
the docs and/or by packaging those in third-party/ ..
>>>>> 
>>>>> I also wish we reduce / remove our dependency on Velocity. Then we’ll
be pretty close to dependency-free holy grail for a typical user :)
>>>>> 
>>>>> A.
>>>>> 
>>>>> On Dec 18, 2013, at 6:08 AM, Mike Kienenberger <mkienenb@gmail.com>
wrote:
>>>>>> This was on the windows distribution.  I haven't checked the other
ones.
>>>>>> 
>>>>>> On Tue, Dec 17, 2013 at 10:07 PM, Mike Kienenberger <mkienenb@gmail.com>
wrote:
>>>>>>> We state:
>>>>>>> 
>>>>>>> =============
>>>>>>> 
>>>>>>> When using cayenne-server-x.x.jar you'll need a few third party
jars
>>>>>>> (all included in lib/third-party directory of the distribution):
>>>>>>> 
>>>>>>> Apache Velocity Template Engine, version 1.6.x (and all its
>>>>>>> dependencies bundled with velocity-dep)
>>>>>>> 
>>>>>>> Apache Commons Collections, version 3.2.1
>>>>>>> 
>>>>>>> Apache Commons Logging, version 1.1
>>>>>>> =============
>>>>>>> 
>>>>>>> http://cayenne.apache.org/docs/3.1/cayenne-guide/including-cayenne-in-project.html#jar-files-and-depdendencies
>>>>>>> 
>>>>>>> However, we are missing commons-lang-2.6
>>>>>> 
>>>>> 
>>>> 
>>> 
> 


Mime
View raw message