2012-01-29 8 views
0

私はSBT 0.11.0を使用します。これは、すべてのソースが中に配置されなければならないことを必要とします:Scala - sbt、main.scala、カスタムパッケージ

[project]/src/main/scala/ 

私のようなカスタムパッケージ欲しいところが:

[project]/src/com/test/... 

をSBTが必要と私はすべてのソース・ファイルにカスタムパッケージを指定し、その後、物事を残すことができます:

package com.test 

しかし、私は新しいクラスを生成し、このようなimport文としてEclipseの自動機能を備えたいくつかの問題を、持って... Eclipseは常に追加main.scala前。これを解決するためにできることはありますか?

編集

たとえば私はこれがあります:B

[project] 
    src 
    main 
     scala 
     com 
      test 
      A.scala 
       package com.test 
       ... 
      B.scala 
       package com.test 
       ... 

を、私はAの一部の機能を使用して、私は、EclipseのインポートAをできるようにCtrl+Shift+Oを押し、それを入力します。 Eclipseは、この処理を行います。

import main.scala.com.test.A 

しかしAで、私はcom.test(ないmain.scala.com.test)にパッケージを設定します。

これは小さな例です。しかし、私は多くのソースファイルを持っているとき、私は自分のコードをリファクタリングする必要があります、ものは難しくなります...

答えて

5

あなたはソースフォルダとパッケージを混乱させる!

sbtは、Scalaコードのソースフォルダsrc/main/scalaを慣例として使用しています。このフォルダ内で、必要なパッケージを作成することができます。あなたは、あなたがに設定されたすべての詳細を持っているEclipseプロジェクトを生成するために、SBTを伝えることができeclipse plugin for sbtを使用する場合は

package foo.bar 

object Baz { 
    ... 
} 
+0

ありがとうございました。私の質問ははっきりしないと思います。私はそれを編集させてください。 –

+1

Heikoが正しいです。 Eclipseプロジェクトのプロパティで、 'src/main/scala'をソースフォルダ(' src'だけでなく)にしてください。 –

+0

ありがとうドラゴス、私はそれを得た:-) –

1

:次のコードを含むファイルBaz.scalaとサブフォルダのfoo /バー sbtのプロジェクト構造で正しく動作します。それをあなたのsbtプロジェクトに追加して実行するために必要なすべての詳細は上記のリンクにあります。

+0

ありがとう、私はsbteclipseを試して、それはうまく動作します。しかし、現在私はそれを必要としません。そのようなプラグインが必要な場合、私はそれを見つける方法を知っています。ありがとうございました :-) –