openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hor...@pjm.com
Subject RE: [jira] Commented: (OPENJPA-8) java.util.MissingResourceException: system is missing product derivations
Date Mon, 14 Aug 2006 19:32:34 GMT
I still haven't been able to get ant to work.  The svn update I did
today seemed to fix the java command line.  There is definitely a
difference in the way that the and task invokes the enhancer and how it
works from the command line.  I used the batch file (windows)  below.
You can specify your classes, but I just let the enhancer find my
persistence.xml and work from that.

echo off
set proj=D:\Personal\projects\MyMoney
set lib=%proj%\openjpa-0.9.0\lib
set cp=%lib%\commons-collections-3.2.jar
set cp=%cp%;%lib%\commons-lang-2.1.jar
set cp=%cp%;%lib%\commons-logging-1.0.4.jar
set cp=%cp%;%lib%\commons-pool-1.3.jar
set cp=%cp%;%lib%\derby-10.1.3.1.jar
set cp=%cp%;%lib%\geronimo-j2ee-connector_1.5_spec-1.0.1.jar
set cp=%cp%;%lib%\geronimo-jms_1.1_spec-1.0.1.jar
set cp=%cp%;%lib%\geronimo-jta_1.0.1B_spec-1.0.1.jar
set cp=%cp%;%lib%\openjpa-jdbc-0.9.0.jar
set cp=%cp%;%lib%\openjpa-jdbc-5-0.9.0.jar
set cp=%cp%;%lib%\openjpa-kernel-0.9.0.jar
set cp=%cp%;%lib%\openjpa-kernel-4-0.9.0.jar
set cp=%cp%;%lib%\openjpa-kernel-5-0.9.0.jar
set cp=%cp%;%lib%\openjpa-lib-0.9.0.jar
set cp=%cp%;%lib%\openjpa-persistence-0.9.0.jar
set cp=%cp%;%lib%\openjpa-persistence-jdbc-0.9.0.jar
set cp=%cp%;%lib%\openjpa-project-0.9.0.jar
set cp=%cp%;%lib%\openjpa-xmlstore-0.9.0.jar
set cp=%cp%;%lib%\persistence-api-1.0.jar
set cp=%cp%;%lib%\serp-1.11.0.jar

echo using classpath: %cp%

java -cp %cp%;%proj%\build\classes org.apache.openjpa.enhance.PCEnhancer

-----Original Message-----
From: Bryan Noll [mailto:bwnoll@gmail.com] 
Sent: Monday, August 14, 2006 3:25 PM
To: open-jpa-dev@incubator.apache.org
Subject: Re: [jira] Commented: (OPENJPA-8)
java.util.MissingResourceException: system is missing product
derivations


So... before I got update the jira, I want to go make sure it's not 
something stupid I'm doing.

Classpath defined like this in ant...

    <path id="project.classpath">
        <pathelement
location="${basedir}/lib/commons-collections-3.2.jar"/>
        <pathelement location="${basedir}/lib/commons-lang-2.1.jar"/>
        <pathelement
location="${basedir}/lib/commons-logging-1.0.4.jar"/>
        <pathelement location="${basedir}/lib/commons-pool-1.3.jar"/>
        <pathelement location="${basedir}/lib/derby-10.1.3.1.jar"/>
        <pathelement 
location="${basedir}/lib/geronimo-j2ee-connector_1.5_spec-1.0.1.jar"/>
        <pathelement 
location="${basedir}/lib/geronimo-jms_1.1_spec-1.0.1.jar"/>
        <pathelement 
location="${basedir}/lib/geronimo-jta_1.0.1B_spec-1.0.1.jar"/>
        <pathelement location="${basedir}/lib/openjpa-jdbc-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-jdbc-5-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-kernel-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-kernel-4-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-kernel-5-0.9.0.jar"/>
        <pathelement location="${basedir}/lib/openjpa-lib-0.9.0.jar"/>
        <pathelement 
location="${basedir}/lib/openjpa-persistence-0.9.0.jar"/>
        <pathelement 
location="${basedir}/lib/openjpa-persistence-jdbc-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-project-0.9.0.jar"/>
        <pathelement
location="${basedir}/lib/openjpa-xmlstore-0.9.0.jar"/>
        <pathelement location="${basedir}/lib/persistence-api-1.0.jar"/>
        <pathelement location="${basedir}/lib/serp-1.11.0.jar"/>
    </path>

(have also tried it like....)

    <path id="project.classpath">
        <fileset dir="${basedir}/lib" includes="*.jar"/>
    </path>


===========

Task defined like...

    <taskdef name="openjpac" 
classname="org.apache.openjpa.ant.PCEnhancerTask">
        <classpath refid="project.classpath" />
    </taskdef>

Target defined like...

    <target name="enhance-src">
        <openjpac>
            <classpath refid="project.classpath"/>
            <fileset dir=".">
                <include 
name="${basedir}/src/main/java/tutorial/persistence/*.java" />
            </fileset>
        </openjpac>
    </target>


and I still get that same MissingResourceException...

When digging into the Services.getImplementors(String serviceName, 
ClassLoader loader) method, I print out all the URL's returned by a call

to URLClassLoader.getURLs, and it gives me the following:

file:/c:/tools/apache-ant-1.6.5/lib/ant-antlr.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-bcel.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-bsf.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-log4j.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-oro.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-regexp.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-apache-resolver.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-commons-logging.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-commons-net.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-icontract.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-jai.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-javamail.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-jdepend.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-jmf.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-jsch.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-junit.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-launcher.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-netrexx.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-nodeps.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-starteam.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-stylebook.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-swing.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-trax.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-vaj.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-weblogic.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-xalan1.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant-xslp.jar
file:/c:/tools/apache-ant-1.6.5/lib/ant.jar
file:/c:/tools/apache-ant-1.6.5/lib/junit-3.8.1.jar
file:/c:/tools/apache-ant-1.6.5/lib/junit.jar
file:/c:/tools/apache-ant-1.6.5/lib/xercesImpl.jar
file:/c:/tools/apache-ant-1.6.5/lib/xml-apis.jar
file:/c:/tools/jdk1.5.0_06/lib/tools.jar


Obviously, the 
'META-INF/services/org.apache.openjpa.conf.ProductDerivation' file is 
not gonna be in any of those libraries.

What am I missing?

Neil Hornbeck (JIRA) wrote:
>     [ 
>
http://issues.apache.org/jira/browse/OPENJPA-8?page=comments#action_1242
7870 ]
>             
> Neil Hornbeck commented on OPENJPA-8:
> -------------------------------------
>
> Updated to revision 431325.  I am now able to us the Enhancer from the

> command line.
>
>   
>> java.util.MissingResourceException: system is missing product 
>> derivations
>>
------------------------------------------------------------------------
-
>>
>>                 Key: OPENJPA-8
>>                 URL: http://issues.apache.org/jira/browse/OPENJPA-8
>>             Project: OpenJPA
>>          Issue Type: Bug
>>         Environment: Windows 2000, using ant build.
>>            Reporter: Neil Hornbeck
>>            Priority: Blocker
>>
>> I am trying to run the openjpac from within ant.  I am getting the 
>> error that the file
META-INF/services/org.apache.openjpa.conf.ProductDerivation is missing
but it is right on the classpath that the Enhancer is running from.
>> +++
>>  [openjpac] java.lang.ExceptionInInitializerError
>>  [openjpac]     at
org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigura
tionImpl.java:516)
>>  [openjpac]     at
org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigura
tionImpl.java:165)
>>  [openjpac]     at
org.apache.openjpa.conf.OpenJPAConfigurationImpl.<init>(OpenJPAConfigura
tionImpl.java:155)
>>  [openjpac]     at
org.apache.openjpa.ant.PCEnhancerTask.newConfiguration(PCEnhancerTask.ja
va:77)
>>  [openjpac]     at
org.apache.openjpa.lib.ant.AbstractTask.getConfiguration(AbstractTask.ja
va:89)
>>  [openjpac]     at
org.apache.openjpa.ant.PCEnhancerTask.executeOn(PCEnhancerTask.java:84)
>>  [openjpac]     at
org.apache.openjpa.lib.ant.AbstractTask.execute(AbstractTask.java:153)
>>  [openjpac]     at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>>  [openjpac]     at org.apache.tools.ant.Task.perform(Task.java:364)
>>  [openjpac]     at
org.apache.tools.ant.Target.execute(Target.java:341)
>>  [openjpac]     at
org.apache.tools.ant.Target.performTasks(Target.java:369)
>>  [openjpac]     at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>>  [openjpac]     at
org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>>  [openjpac]     at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut
or.java:40)
>>  [openjpac]     at
org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>>  [openjpac]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
>>  [openjpac]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
>>  [openjpac]     at
org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>>  [openjpac]     at
org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
>>  [openjpac] Caused by: java.util.MissingResourceException: Your 
>> system is missing product derivations.  Product derivations provide 
>> configuration options for supported da ta stores and specifications.
You must have a
META-INF/services/org.apache.openjpa.conf.ProductDerivation file in your
classpath listing the available derivation classes , and some listed
class must be instantiable.  Typically this file is bundled as part of
the distribution.  Have you unbundled it, or unbundled its listed
classes?
>>  [openjpac]     at
org.apache.openjpa.conf.ProductDerivations.<clinit>(ProductDerivations.j
ava:53)
>>  [openjpac]     ... 19 more
>>     
>
>   

Mime
View raw message