您好我尝试将Play框架(当前)2.3.7与Bootstrap 3集成:
sbt文件:
libraryDependencies ++= Seq(
"org.webjars" %% "webjars-play" % "2.3.0-2",
"org.webjars" % "bootstrap" % "3.1.1-2"
)
HTML
<body>
<!-- Latest compiled and minified CSS -->
<link rel='stylesheet' href='@routes.Assets.at(WebJarAssets.locate("css/bootstrap.min.css"))'>
<ul class="nav nav-tabs">
<li role="presentation" class="active"><a href="#">Home</a></li>
<li role="presentation"><a href="#">Profile</a></li>
<li role="presentation"><a href="#">Messages</a></li>
</ul>
仅抛出此错误: [MultipleMatchesException:为css / bootstrap.min.css找到多个匹配项。请提供更具体的路径,例如包括版本号。]
一个不同的尝试(应该适用于早期的2.3版本): http://www.webjars.org/documentation
<link rel='stylesheet' href='@routes.WebJarAssets.at(WebJarAssets.locate("css/bootstrap.min.css"))'>
<script type='text/javascript' src='@routes.WebJarAssets.at(WebJarAssets.locate("jquery.min.js"))'></script>
但Play只告诉我网络jar资产控制器不可用
value WebJarAssets is not a member of object controllers.routes
答案 0 :(得分:3)
您的路线文件中是否有WebJarAssets控制器的条目?像这样:
GET /webjars/*file controllers.WebJarAssets.at(file)
答案 1 :(得分:2)
就我而言,我收到了错误:
value WebJarAssets is not a member of object controllers.routes
即使我添加了
GET /webjars/*file controllers.WebJarAssets.at(file)
到路线文件。
sbt clean
没有帮助。我最终得到git clean -f -d -x
,删除了git未跟踪的所有内容。然后编译。
答案 2 :(得分:1)
您只需使用Assets控制器访问WebJars,它们就会被Play自动提取到target / lib文件夹。你可以通过@ routes.Assets.at(“lib / bootstrap / css / bootstrap.css”)来引用它们。