2012-03-23 7 views
1

Eclipse用のScala IDEでscala-compiler.jarを参照するにはどうすればよいでしょうか?Scala IDE for Eclipseコンパイラサポート

実行時にScalaに変換されるカスタムDSLを開発しようとする際に、この問題が発生しました。

Scalaパーサーコンビネータの使用はこれまでのところ喜んでいました。

私はコンパイルして実行する必要があるScalaコードを生成しました。 Scalaはこれをscala.tools.nsc。*パッケージセットでサポートしています。

ただし、scala.tools.nscパッケージはscala-library.jarの一部ではなく、scala-compiler.jarの一部です。

私が言うことができる限り、scala-compiler.jarはScala IDE for Eclipseのバンドルの一部としてインストールされていませんが(プラグインの一部です)、簡単な方法は見つかりませんそれに対するサポートを追加する。

これを回避する唯一の方法は、Eclipseプラグインディレクトリから、またはウェブから直接ダウンロードしたバージョンからコンパイラjarへの参照を手動で追加することです。しかし、それがうまくいくとしても、それは道を歩む問題に繋がる素晴らしい方法のようです。

これを行うにはどうすればよいですか?

乾杯、 または

答えて

1

あなたはそれを手動で依存関係を追加するのではなくEclipseのにバンドルされているものを使用するのがベストだということですね。既に使用していない場合は、mavenまたはivy以上のScala静脈内の依存性解決を行うビルドシステム、sbtを見てください。

プラグインを開発していない場合は、mavenやivyなどの通常の依存関係の解決方法を使用してください。これは、あなたがMavenのために必要なものです:あなたがプラグインを開発している場合

<dependency> 
    <groupId>org.scala-lang</groupId> 
    <artifactId>scala-compiler</artifactId> 
    <version>2.9.1</version> 
</dependency> 

、その後、あなたは同様の依存関係の解決を使用することができますが、Mavenを使用している場合、あなたはおそらくTychoを見てみたいと思うでしょう。

+0

依存関係は必要ありません。私の他の答えを見てください。 –

+0

Heiko、OPはこれを行うための「最良の方法」を求めていました。 addライブラリを使用してコンパイラを追加できるというのは間違いありませんが、これはscala-ideに含まれるライブラリを提供します。つまり、Eclipse以外のビルドを再現するには、このライブラリの正確なバージョンを見つけることはできません(私は2.9.2.rdev-2769-2011-12-13-g2dd83daです)。 Eclipseの外部でビルドするつもりなら、ライブラリを確実に識別する信頼できる方法が必要です。 Eclipseにバンドルされているコンパイラを使用するのではなく、手動で依存関係を手動で追加するのが最善だと私の答えを明確にしました –

1

これは簡単です:Scala IDE for Eclipseには「Scala Compiler」というライブラリがあります。 Scalaプロジェクトのコンテキストメニューから "Build Path> Add Libraries ..."を選択し、ダイアログから "Scala Compiler"ライブラリを選択するだけです。

関連する問題