我目前有一个play框架项目,它包含大量代码(utils、模块等),我想在一个可运行的脚本(或程序/main)中使用这些代码。我的理解是,如果我把脚本作为子项目,那么我就不能利用父项目中的代码。我需要利用来自父项目的代码。
我只需将脚本放在应用程序目录中的某个位置,就可以执行类似sbt run com.foo.bar.Foobar之类的操作。不幸的是,这(显然)并没有带来所有的发挥。没有数据库,没有全局,没有配置等。基本上它不引导播放。
除了我的父项目和我想要共享一个子项目的所有代码之外,还有什么方法可以完成我想要做的事情呢?
编辑:我尝试使用找到的解决方案Here,但它会导致一个错误,说明没有运行应用程序。
发布于 2015-10-23 14:50:40
添加到我在How do I run a comand line scala script that uses Play Framework app database?(http://blog.felipe.rs/2014/05/14/run-maintenance-scripts-in-the-context-of-a-running-play-framework-application/)中找到的最佳解决方案时,我必须以以下方式修改它。
def importJogosFromCSV(csvFilePath: String) = {
db withSession { implicit s: Session =>
JogosCSVImporter.importJogos(csvFilePath)
}
}改为:
def importJogosFromCSV(csvFilePath: String) = {
running(application) {
db withSession { implicit s: Session =>
JogosCSVImporter.importJogos(csvFilePath)
}
}
}最后,我需要添加运行(应用程序),我使用的是带有play 2.3.x的specs2
https://stackoverflow.com/questions/33291663
复制相似问题