我想在构建中添加一个设置,该设置将从src树中的某个位置复制特定文件,以便它们在开发和生产模式的类路径中可用。我不想将它们放在public
文件夹中,因为我不希望它们可供下载。而且我不想将它们放在conf
文件夹中,因为我想保持配置文件的清洁。
例如:
app
-- views
-- website
-- view.scala.html
-- header-module.widget
-- footer-module.widget
编译应用程序时,我希望类路径包含*.widget
下的classpath:views/website/
文件,而不是view.scala.html
,因为它是单独处理的。
我想通过添加sbt设置来执行此操作,我可以提供过滤器,我已经尝试了这个和一些变体,但到目前为止还没有使用它:
val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
// Add your own project settings here
unmanagedResources in Compile <++= (sourceDirectory in Compile) map {
base: File => ( base / "views" ** "*. widget ").get
})
答案 0 :(得分:5)
以下内部.settings()
应该有效:
// Add app folder as resource directory so that widget files are in the classpath
unmanagedResourceDirectories in Compile <+= baseDirectory( _ / "app" ),
// but filter out java and html files that would then also be copied to the classpath
excludeFilter in Compile in unmanagedResources := "*.java" || "*.html"
我有s.th.像我们的Build.scala中这样在类路径中包含mybatis xml文件,它对我们有效。