2010-09-23 3 views
1

Je les classes suivantes:Vous ne pouvez pas activer activejdbc?

package models; 

public class Test extends activejdbc.Model 
{ 
} 

: et:

import activejdbc.*; 
import models.Test; 

public class ActiveJdbc 
{ 
    public static void main(String args []) throws Exception 
    { 
     System.out.println("starting..."); 
     test(); 
    } 


    public static void test() throws Exception 
    { 
     activejdbc.Base.open("org.h2.Driver", "jdbc:h2:tcp://localhost/~/test", "sa", ""); 

     models.Test t = models.Test.findFirst("id = ??",1); 
     String s = t.get("name").toString(); 
     System.out.println(s); 
    } 

} 

mais quand je le lance avec:

java -cp .;../lib/h2.jar;../lib/activejdbc.jar;../lib/slf4j-simple.jar;../lib/javalite.jar ActiveJdbc 

: Je reçois l'erreur:

starting... 
Exception in thread "main" activejdbc.DBException: failed to determine Model class name, are you sure models have been instrumented? 
     at activejdbc.Model$ClassGetter.getClassName(Model.java:1577) 
     at activejdbc.Model.getClassName(Model.java:1546) 
     at activejdbc.Model.getDaClass(Model.java:1538) 
     at activejdbc.Model.getTableName(Model.java:1550) 
     at activejdbc.Model.getMetaModel(Model.java:58) 
     at activejdbc.Model.findFirst(Model.java:1073) 
     at ActiveJdbc.test(ActiveJdbc.java:17) 
     at ActiveJdbc.main(ActiveJdbc.java:9) 
Caused by: java.lang.RuntimeException: failed to determine Model class name, are you sure models have been instrumented? 

: Quelqu'un peut-il nous éclairer là-dessus?

Répondre

2

J'ai depuis compris cela. Vous devez d'abord exécuter:

java -DoutputDirectory =. -cp.; activejdbc-instrumentation.jar; javassist.jar; activejdbc.jar; activejdbc.instrumentation.Main

+0

Comment cela peut-il aider? –

+0

La réponse était correcte à ce moment-là. J'ai répondu il y a 4 ans donc je vais devoir me rafraîchir avant de vous répondre. – Zubair

Questions connexes