首先,我对Scala,SBT和Vaadin都很陌生。
我正在尝试制作Scala&使用Timeline插件的Vaadin应用程序。我不得不在 build 项目(project/
)下放置Timeline jar(非托管依赖)和Vaadin依赖,这样我就可以在构建期间编译它(好吧,通过调用 vaadin 任务)。如何在不重复jar和依赖项的情况下将vaadin-timeline-agpl-3.0-1.2.3.jar
和Vaadin依赖项合并到vaadinTest项目中?以下是我的项目结构。谢谢。顺便说一下,我已经尝试过现有的Vaadin插件,但它们很糟糕(我需要做的就是编译widgetset)。
这是我的项目结构:
vaadinTest/
project/
lib/vaadin-timeline-agpl-3.0-1.2.3.jar
build.sbt
ProjectBuild.scala
src/
vaadinTest/project/build.sbt:
libraryDependencies ++= Seq(
"com.google.gwt" % "gwt-user" % "2.4.0",
"com.google.gwt" % "gwt-dev" % "2.4.0",
"com.vaadin" % "vaadin" % "6.7.4"
)
vaadinTest/project/ProjectBuild.scala:
import com.google.gwt.dev.Compiler
import sbt._
import Keys._
object ProjectBuild extends Build {
val deps = Seq(
"org.eclipse.jetty" % "jetty-server" % "8.1.0.RC5",
"org.eclipse.jetty" % "jetty-webapp" % "8.1.0.RC5",
"org.eclipse.jetty" % "jetty-servlet" % "8.1.0.RC5",
)
val vaadinTest = Project(
"vaadinTest", file("."), Defaults.defaultSettings
++ Seq(libraryDependencies ++= deps)
++ Seq(vaadinTask)
)
val vaadin = TaskKey[Unit]("vaadin")
val vaadinTask = vaadin := {
Compiler.main(Array("-war", "src/main/webapp/VAADIN/widgetsets",
"com.vaadin.addon.timeline.gwt.TimelineWidgetSet"))
}
}
答案 0 :(得分:0)
您的问题提到了一个“插件”项目,但我无法在您的项目结构或ProjectBuild.scala
中看到该项目?
在任何情况下,您都可以通过修改dependencyClasspath
设置将其他目录添加到类路径中。这是记录here(参见“非托管依赖关系”部分)。