2013-03-02 9 views
5

Jaki jest najlepszy sposób generowania oddzielnych plików jar za pomocą sbt dla wielu klas głównych w ramach tego samego drzewa źródłowego?Oddzielne słoiki dla różnych głównych klas pod tym samym src

katalog Projekt wygląda mniej więcej tak:

project_root/ 
     src/main/scala/ 
        A/*.scala files for main class A 
        B/*.scala files for main class B 
       resources/ 
      test/scala/ 
        A/ 
        B/ 
     lib/ 
     project/Build.scala 
     build.sbt 

Zauważ, że zarówno A i B mają tę samą podstawę. Konkretne przykłady pliku Build.scala byłyby pomocne.

+0

Czy chcesz jeden słoik odpowiednio dla A i B, oba zawierające wspólne klasy bazowe? –

+0

Tak. 2 pliki jar, które mają wspólne klasy. – deepkimo

+0

czy znalazłeś jakieś dobre rozwiązanie? – bunnyjesse112

Odpowiedz

1

Powinieneś rzucić okiem na Getting Started Multi Project. Poniżej przedstawiam prosty przykład:

import sbt._ 

object MyBuild extends Build { 

    lazy val projA = Project("projA", file("a")) 

    lazy val projB = Project("projB", file("b")) 
} 
+0

To nie zadziała w przypadku, który opisuję, ponieważ oba projekty mają tę samą podstawę. – deepkimo

+0

Można utworzyć trzeci projekt, który zawiera wspólne clsasses i użyć 'dependOn' zgodnie z opisem w łączu w" zależnościach Classpath ". Lub możesz spróbować zrobić dwa projekty z tą samą ścieżką bazową, a następnie wykluczyć niektóre klasy z kompilacji w każdym projekcie (nie próbowałem tego, więc nie jestem pewien, czy to zadziała). Oto odpowiedź pokazująca, jak wykluczyć klasy java z kompilacji, abyś mógł ją dostosować do swoich potrzeb. http://stackoverflow.com/a/8896784/355499 –

Powiązane problemy