Scala & XSBT - разделяет часть пути к классам сборки с проектом classpath - PullRequest
2 голосов
/ 26 января 2012

Прежде всего, я очень новичок в Scala, SBT и Vaadin.

Я пытаюсь создать приложение Scala & Vaadin с дополнением Timeline.Мне пришлось поместить Jar временной шкалы (неуправляемая зависимость) и зависимость Vaadin в проект build (project/), чтобы я мог скомпилировать его во время сборки (ну, вызывая задачу vaadin ).Как я могу объединить vaadin-timeline-agpl-3.0-1.2.3.jar и зависимость Vaadin в проект vaadinTest без дублирования jar и зависимости?Ниже приведена структура моего проекта.Спасибо.Кстати, я уже пробовал существующие плагины 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"))
    }
}

1 Ответ

0 голосов
/ 26 января 2012

Ваш вопрос упоминает о проекте "плагин", но я не вижу этот проект в структуре вашего проекта или ProjectBuild.scala?

В любом случае вы можете добавить дополнительные каталоги в ваш путь к классам, изменив настройку dependencyClasspath. Это задокументировано здесь (см. Раздел «Неуправляемые зависимости»).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...