基本的には、.project ファイルと .classpath ファイルに手を入れればできるはず。
やってみよう。
前提条件は、Eclipse に Scala IDE が導入されていること。
環境は、Eclipse Juno + Scala IDE nightly build 版( Juno 対応版)。
.project や .classpath ファイルを直接編集するので、Eclipse は終了しておくか編集対象プロジェクトを Close しておく。
.project
まず 普通の Java プロジェクトの .project ファイル。
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>SampleProject</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
次に、Scala プロジェクトの .project ファイル。
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>HelloWorld</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.scala-ide.sdt.core.scalabuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.scala-ide.sdt.core.scalanature</nature> <nature>org.eclipse.jdt.core.javanature</nature> </natures> </projectDescription>
builderCommand の name が javabuilder と scalabuilder で違っている。
また、nature も scalanature が追加されていることがわかる。
Scala プロジェクトにも javanature があるが、Scala プロジェクトにも javanature は必要で、これを削除すると動かなくなってしまう。
やること。
- builderCommand を org.scala-ide.sdt.core.scalabuilder に変更する。
- natures に org.scala-ide.sdt.core.scalanature を追加する。
.classpath
Java プロジェクトの .project ファイル。
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="bin"/> </classpath>
Scala プロジェクトの .project ファイル。
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="bin"/> </classpath>
クラスパスエントリに SCALA_CONTAINER が追加されている。
これは、Eclipse で Scala プロジェクトの プロジェクトプロパティを開いたときに Java Build Path の Libraries タブに追加されている Scala Library に相当する部分だと思う。
やること。
- classpathentry に kind="con" の
org.eclipse.jdt.launching.JRE_CONTAINER を追加する。
結果
元 Java プロジェクト に Scala オブジェクトや Scala クラスを追加し実行できるようになった。
OK。
まとめ:
- .project の builderCommand を org.scala-ide.sdt.core.scalabuilder に変更
- .project の natures に org.scala-ide.sdt.core.scalanature を追加
- .classpath の classpathentry に kind="con" の
org.eclipse.jdt.launching.JRE_CONTAINER を追加
0 件のコメント:
コメントを投稿