我有以下课程:
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?
:有人能对此有所启发吗?
从那以后我就知道了。您需要先运行:
java -DoutputDirectory =。-cp。; activejdbc-instrumentation.jar; javassist.jar; activejdbc.jar; activejdbc.instrumentation.Main