有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java PlayFramework应用ClassLoader的演变

我尝试按照here所述从类加载器应用自定义演化。我的代码:

Evolutions.applyEvolutions(database, Evolutions.fromClassLoader(CollectorTest.class.getClassLoader(), "testdatabase/"));

我的自定义脚本位于目录“test/resources/testdatabase/evolutions/default/4.sql”中。但进化是行不通的。 脚本1。sql,2。sql,3。目录“conf/evolutions/default”中的sql工作正常。 如果我像这样执行脚本:

Evolutions.applyEvolutions(database, Evolutions.forDefault(new Evolution(4, myUpScript, myDownScript));

一切正常

如何应用来自的自定义演变。sql脚本是否正确


共 (1) 个答案

  1. # 1 楼答案

    它不起作用,因为Evolutions类存在于两个不同的包中,并且该示例没有给出太多关于这方面的信息。下面是播放2.7.3和;scala 2.11:

    play.api.db.evolutions.Evolutions.applyEvolutions(database, play.db.evolutions.Evolutions.fromClassLoader(getClass().getClassLoader(), "testdatabase/"));