我有一个部署在Heroku中的Scala Play框架2.7.x应用程序。我使用Lucene为WebApp编制索引,由于Lucene中没有JdbcDirectory
,因此我需要使用其FSDirectory
,这导致Heroku出现问题,因为我无法在Heroku中的$APP_HOME/lucene-index/*
下生成索引文件。每次都会被清除。这使我有两种可能的解决方案,而这是一种更简单的解决方案:
$APP_HOME/lucene-index
并将其保存在GIT中,此文件夹将与$APP_HOME/app
和$APP_HOME/public
处于同一级别。$APP_HOME/lucene-index
,以便由Heroku复制(此OP的目的。)>]我需要在#2上做一些特别的事情,以使Heroku识别$APP_HOME/lucene-index/
为需要与应用程序打包在一起的文件夹吗?例如我不想将$APP_HOME/lucene-index/
放在$APP_HOME/conf/
下,以使其正常工作。
这里找到Anatomy of a Play 2.7.x application,但是没有关于如何向其添加额外路径文件夹的消息。
我有一个部署在Heroku中的Scala Play框架2.7.x应用程序。我使用Lucene为WebApp编制索引,并且由于Lucene中没有JdbcDirectory,因此我需要使用其FSDirectory来代替...
我追求的解决方案是将./lucene-index
文件夹作为Play dist的一部分。这是通过更改build.sbt
文件的添加来完成的:
//********************************************************
// Add lucene-index to the dist
//********************************************************
import com.typesafe.sbt.packager.MappingsHelper._
mappings in Universal ++= directory(baseDirectory.value / "lucene-index")