【问题标题】:Scala & XSBT - share part of build classpath with project classpathScala & XSBT - 与项目类路径共享部分构建类路径
【发布时间】:2012-01-27 04:31:28
【问题描述】:

首先,我对 Scala、SBT 和 Vaadin 非常陌生。

我正在尝试使用 Timeline 插件制作 Scala 和 Vaadin 应用程序。我必须将 Timeline jar(非托管依赖项)和 Vaadin 依赖项放在 build 项目(project/)下,这样我就可以在构建期间对其进行编译(好吧,通过调用 vaadin 任务) .如何在不复制 jar 和依赖项的情况下将 vaadin-timeline-agpl-3.0-1.2.3.jar 和 Vaadin 依赖项合并到 vaadinTest 项目中?下面是我的项目结构。谢谢你。顺便说一句,我已经尝试过现有的 Vaadin 插件,但它们很糟糕(我需要做的就是编译小部件集)。

这是我的项目结构:

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"))
    }
}

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    您的问题提到了一个“插件”项目,但我在您的项目结构或ProjectBuild.scala 中看不到该项目?

    在任何情况下,您都可以通过修改dependencyClasspath 设置将其他目录添加到您的类路径中。这已记录在 here 中(请参阅“非托管依赖项”部分)。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 1970-01-01
    • 2015-08-10
    • 2011-11-04
    • 2018-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多