1

我有以下课程:

package models;

public class Test extends activejdbc.Model
{
}

: 和 :

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);
    }

}

:但是当我运行它时:

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

:我得到错误:

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?

: 有人能解释一下吗?

4

1 回答 1

2

从那以后我就明白了。您需要先运行:

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

于 2010-09-24T09:53:52.967 回答