You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Rahul Srivastava <ra...@mentorix.com> on 2005/05/26 08:22:05 UTC

I am having a problem with enhancing a .class for JDO

Hi
i am having a rpoblem with JDO . please help me for this.

Buildfile: build.xml

compile:

xdoclet:
[ojbdoclet] May 26, 2005 11:08:55 AM xdoclet.XDocletMain start
[ojbdoclet] INFO: Running <ojbrepository/>
[ojbdoclet] May 26, 2005 11:08:56 AM xdoclet.XDocletMain start
[ojbdoclet] INFO: Running <torqueschema/>

build:

build_if_with_mainclass:

enhance-jdori:
     [java] Enhancer: options:
     [java]     verbose = true
     [java]     quiet = false
     [java]     forceWrite = true
     [java]     noWrite = false
     [java]     sourcePath = null
     [java]     destinationDirectory = build/classes
     [java]     propertiesFileName = null
     [java]     doTiming = false
     [java]     classNames = {
     [java]     }
     [java]     jdoFileNames = {
     [java]         src/java/org/apache/ojb/tutorial5/Product.jdo
     [java]     }
     [java]     classFileNames = {
     [java]         build/org/apache/ojb/tutorial5/Product.class
     [java]     }
     [java]     zipFileNames = {
     [java]     }
     [java]     dumpClass = false
     [java]     noAugment = false
     [java]     noAnnotate = false
     [java] JDO ENHANCER: using file:
file:/D:/ojb-blank/ojb-blank/build/org/ap
che/ojb/tutorial5/Product.class
     [java] Class Locator: using class files: {
     [java]     build/org/apache/ojb/tutorial5/Product.class
     [java] }
     [java] JDO ENHANCER: using file:
file:/D:/ojb-blank/ojb-blank/src/java/org
apache/ojb/tutorial5/Product.jdo



  [java] -------------------------------------------------------------------
-------

     [java] JDO ENHANCER: Enhancer: enhancing classfile ...
     [java] JDO ENHANCER: scanning class org.apache.ojb.tutorial5.Product
     [java] JDO ENHANCER: not found resource: META-INF/package.jdo
     [java] JDO ENHANCER: not found resource: WEB-INF/package.jdo
     [java] JDO ENHANCER: not found resource: package.jdo
     [java] JDO ENHANCER: not found resource: org/package.jdo
     [java] JDO ENHANCER: not found resource: org/apache/package.jdo
     [java] JDO ENHANCER: not found resource: org/apache/ojb/package.jdo
     [java] JDO ENHANCER: not found resource:
org/apache/ojb/tutorial5/package.
do
     [java] JDO ENHANCER: found resource:
org/apache/ojb/tutorial5/Product.jdo
     [java] com.sun.jdori.enhancer.util.InternalError: assertion failed:
cannot
find class file for class: org/apache/ojb/tutorial5/Product
     [java]     at com.sun.jdori.enhancer.util.Assertion.affirm(Unknown
Source)
     [java]     at
com.sun.jdori.enhancer.meta.model.EnhancerMetaDataJDOModelIm
l.declareField(Unknown Source)
     [java]     at com.sun.jdori.enhancer.core.Analyzer.scanFields(Unknown
Sour
e)
     [java]     at com.sun.jdori.enhancer.core.Analyzer.scan(Unknown Source)
     [java]     at com.sun.jdori.enhancer.core.Controller.scan(Unknown
Source)
     [java]     at
com.sun.jdori.enhancer.core.Controller.enhanceClass(Unknown
ource)
     [java]     at
com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile1(Unk
own Source)
     [java]     at
com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile(Unkn
wn Source)
     [java]     at com.sun.jdori.enhancer.Main.enhanceClassFile(Unknown
Source)
     [java]     at com.sun.jdori.enhancer.Main.enhanceInputFiles(Unknown
Source

     [java]     at com.sun.jdori.enhancer.Main.process(Unknown Source)
     [java]     at com.sun.jdori.enhancer.Main.main(Unknown Source)
     [java] Fatal error while enhancing: JDO ENHANCER: An internal error
occurr
d while enhancing input class; detailed message: assertion failed: cannot
find
lass file for class: org/apache/ojb/tutorial5/Product
     [java] com.sun.jdori.enhancer.EnhancerFatalError: JDO ENHANCER: An
interna
 error occurred while enhancing input class; detailed message: assertion
failed
 cannot find class file for class: org/apache/ojb/tutorial5/Product
     [java]     at
com.sun.jdori.enhancer.filter.Enhancer.enhanceClassFile(Unkn
wn Source)
     [java]     at com.sun.jdori.enhancer.Main.enhanceClassFile(Unknown
Source)
     [java]     at com.sun.jdori.enhancer.Main.enhanceInputFiles(Unknown
Source

     [java]     at com.sun.jdori.enhancer.Main.process(Unknown Source)
     [java]     at com.sun.jdori.enhancer.Main.main(Unknown Source)
     [java] aborted with errors.



BUILD FAILED
D:\ojb-blank\ojb-blank\build.xml:226: Java returned: 1

bye
Rahul S
Senior Software Eng.
Lionbridge Tech Pvt Ltd.


Re: I am having a problem with enhancing a .class for JDO

Posted by Martin Kalén <mk...@apache.org>.
Rahul Srivastava wrote:
> Hi
> i am having a rpoblem with JDO . please help me for this.
<snip/>
>      [java] com.sun.jdori.enhancer.util.InternalError: assertion failed:
> cannot
> find class file for class: org/apache/ojb/tutorial5/Product
<snip/>
> BUILD FAILED
> D:\ojb-blank\ojb-blank\build.xml:226: Java returned: 1

It looks like you might be trying to follow the JDO tutorial [1].

Unfortunately the tutorial is not 100% updated on the Apache OJB website,
so you will have to read some steps a bit differently and perform some
minor hacking to get going:

"Extract the tutorial-src.jar"
=> "Extract the tutorial5-src.jar"

"Download jdori.jar,jdo.jar from Sun's JDO site"
=> "Download jdori-enhancer.jar,jdori.jar,jdo.jar from Sun's JDO site" [2]

"cd build/resources ; java org.apache.ojb.tutorial5.Main"
=> "cd build ; java -cp 
.:classes:../src/java:../lib/jdo.jar:../lib/jdori.jar:../lib/db-ojb-1.0.3.jar:../lib/antlr-2.7.5.jar:../lib/hsqldb.jar:../lib/commons-lang-2.0.jar:../lib/commons-pool-1.2.jar:../lib/commons-collections-2.1.1.jar:../lib/commons-dbcp-1.2.1.jar 
org.apache.ojb.tutorial5.Application"

Or for Windows:

cd build
java -cp 
.;classes;..\src\java;..\lib\jdo.jar;..\lib\jdori.jar;..\lib\db-ojb-1.0.3.jar;..\lib\antlr-2.7.5.jar;..\lib\hsqldb.jar;..\lib\commons-lang-2.0.jar;..\lib\commons-pool-1.2.jar;..\lib\commons-collections-2.1.1.jar;..\lib\commons-dbcp-1.2.1.jar 
org.apache.ojb.tutorial5.Application


Download tutorial5-src.jar from your closest Apach mirror [3]
and extract it into a directory called java as subdirectory in
"src" of your ojb-blank project.

There is also a bug in the ojb-blank build.xml for performing the
Ant-task "enhance-jdori", you can patch build.xml from v1.0.3 release
by changing line 227 to:
  <arg line="-v -f -d ${build.dir}/classes ${source.java.dir}/org/apache/ojb/tutorial5/Product.jdo 
${build.dir}/classes/org/apache/ojb/tutorial5/Product.class"/>

Secondly, on line 45 adding:
     <path id="compile-build-classpath">
         <pathelement path="${build.dir}/classes"/>
         <path refid="compile-classpath"/>
     </path>
     [insert blank line here]

And finally, on the new line 231 changing classpathref to:
  classpathref="compile-build-classpath"


For more specific help, please tell us some more details
(Are you building from source or binary release?
  Which O/S are you using (Windows, Linux, ...)?
  Which version of OJB are you using?
  Exactly what are you trying to do, eg which Ant-target?)


The JDO tutorial on the Apache OJB website and the ojb-blank project
will be updated so that you don't have perform all of these inconveniences
in a future release (hopefully before 1.0.4).

Regards,
  Martin

[1] http://db.apache.org/ojb/docu/tutorials/jdo-tutorial.html
[2] http://java.sun.com/products/jdo/
[3] http://www.apache.org/dyn/closer.cgi/db/ojb/

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org