2013-03-02 22 views
5

在同一个源代码树下使用sbt为多个主要类别生成单独的jar文件的最佳方法是什么?在同一个源代码树下的不同主要类的单独罐子

项目目录看起来是这样的:

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 

注意,A和B都具有相同的基础。 Build.scala文件的具体例子会很有帮助。

+0

你想分别为A和B的jar,都包含共同的基类? – 2013-03-02 09:08:26

+0

是的。 2个具有公共类的jar文件。 – deepkimo 2013-03-02 18:42:03

+0

你有没有找到任何好的解决方案? – bunnyjesse112 2013-12-12 13:15:11

回答

1

你应该看看Getting Started Multi Project。我做了一个简单的例子如下:

import sbt._ 

object MyBuild extends Build { 

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

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

这不适用于我所描述的情况,因为两个项目都有相同的基数。 – deepkimo 2013-03-03 21:42:33

+0

您可以创建第三个项目,其中包含常见的clsasses,并使用“类路径依赖关系”下的链接中所述的“dependsOn”。或者您可以尝试使用相同的基本路径创建两个项目,然后从每个项目的构建中排除一些类(我还没有尝试过,因此不确定它是否可行)。下面是一个答案,展示如何从构建中排除Java类,以便您可以根据需要调整它。 http://stackoverflow.com/a/8896784/355499 – 2013-03-04 07:40:59

相关问题