1

過去にsbt-eclipseを使用して、単純なsbtプロジェクトをEclipseに正常にインポートしました。私は現在、sbt の CrossProject メカニズムを活用して Scala-JS 環境を使用しようとしています (sbt で 2 つのサブプロジェクトを作成します。1 つは Javascript 用、もう 1 つは JVM コード用です)。推奨事項(SBTドキュメントのリンクはこちらをご覧ください) は、build.sbt ファイルに設定 'EclipseKeys.useProjectId := true' を追加して、(現在) 2 つのプロジェクトを 1 つの Eclipse プロジェクトにインポートできるようにすることです。次に、実行中の SBT セッションで「eclipse」コマンドを実行して、Eclipse プロジェクトを作成し、Eclipse を起動して、この新しいプロジェクトをインポートしようとしました。これを行うと、Eclipse のインポート ダイアログ ウィザードに 2 つのサブプロジェクトが表示されますが、インポートを完了しようとすると、Eclipse はプロジェクトが既に存在すると不平を言い、Eclipse プロジェクトに 2 つの奇妙なリンクが表示されます。なし。

CrossProject sbt ビルドを Eclipse に組み込むための正しい手順は何ですか?

4

1 に答える 1

0

わかりましたので、Eclipse は、build.sbt の共有設定領域にあるプロジェクトの「名前」が 1 つしかないことが気に入らなかったようです。

lazy val sp = crossProject.in(file(".")).
settings(
  version := "0.1",
  name := "SJSTut",
  scalaVersion := "2.11.7"
).
jvmSettings(
  // Add JVM-specific settings here
  libraryDependencies ++= Seq(...)
).
jsSettings(
  // Add JS-specific settings here
  libraryDependencies ++= Seq(...)
)

そして、私がすべきだったのはこれです:

lazy val sp = crossProject.in(file(".")).
settings(
  version := "0.1",
  scalaVersion := "2.11.7"
).
jvmSettings(
  // Add JVM-specific settings here
  name := "SJSTutJVM",
  libraryDependencies ++= Seq(...)
).
jsSettings(
  // Add JS-specific settings here
  name := "SJSTutJS",
  libraryDependencies ++= Seq(...)
)

設定から「name」の割り当てが削除され、代わりに jvmSettings と jsSettings の両方の領域に一意に異なる名前で配置されていることに注意してください。

これで、これをEclipseに引き込むことができます(2つの別々のプロジェクトとして)。他の誰かがより良い設定をしているなら、私はそれについて聞きたいです.

于 2015-07-10T16:44:13.507 に答える