Scala - sbt,main.scala和自定义包

0 customization scala package sbt

我用的是SBT 0.11.0.它要求所有来源必须放在:

[project]/src/main/scala/
Run Code Online (Sandbox Code Playgroud)

但是,我想要一个自定义包,例如:

[project]/src/com/test/...
Run Code Online (Sandbox Code Playgroud)

我可以按SBT要求保留内容,然后在每个源文件中指定自定义包:

package com.test
Run Code Online (Sandbox Code Playgroud)

但是我遇到了Eclipse自动功能的一些问题,例如import语句,生成新类...... Eclipse总是main.scala在之前添加com.test.我能做些什么来解决这个问题吗?

编辑

例如我有这个:

[project]
  src
    main
      scala
        com
          test
            A.scala
              package com.test
              ...
            B.scala
              package com.test
              ...
Run Code Online (Sandbox Code Playgroud)

B,我使用了一些函数A,我输入它,然后按下Ctrl+Shift+O让Eclipse导入A.Eclipse这样做:

import main.scala.com.test.A
Run Code Online (Sandbox Code Playgroud)

但在A我设置包com.test(不main.scala.com.test).

这是一个小例子.但是当我有很多源文件时,我需要重构我的代码,事情会变得更难......

Hei*_*ger 6

你是混淆源文件夹和包!

sbt按惯例使用源文件夹src/main/scala用于Scala代码.在此文件夹中,您可以创建所需的任何软件包,例如带有文件Baz.scala的子文件夹foo/bar,其中包含以下代码:

package foo.bar

object Baz {
  ...
}
Run Code Online (Sandbox Code Playgroud)