Scala初心者です。私は Windows 8.1 を使用しており、Scala IDE 4.0.0とGradleとscalaおよびeclipseプラグインを使用してプロジェクトを作成しています。このプロジェクトでは、 scala.swingおよびjavax.mediaパッケージを使用したいと考えています。両方のライブラリを依存関係として build.gradle に追加しましたが、javax.media のみが機能します。
私が行った手順は次のとおりです。
次のようにフォルダとファイルを作成します
foo |-src |-main |-scala |-Foo.scala |-build.gradle
以下に示すように、 は Gradle ビルド スクリプトで、 は Scala スクリプトです
build.gradle
。Foo.scala
<<build.gradle>>
apply plugin: 'scala' apply plugin: 'eclipse' repositories { mavenCentral() } dependencies { compile 'org.scala-lang:scala-swing:2.10.4' compile 'javax.media:jmf:2.1.1e' }
<<Foo.scala>>
import javax.media.Player //no error import scala.swing._ //error: object swing is not a member of package scala class Foo { }
コマンドラインを使用して、に移動し
foo
て実行しますgradle eclipse
- Scala IDE で、
import -> General -> Existing Projects into Workspace -> Browse -> Foo
次に、Foo.scala の 2 行目でエラーが発生しますobject swing is not a member of package scala
。Referenced Libraries
下の図に示すように、左側のパネルのリストには のみjmf-2.1.1e.jar
がjavax.media
表示されます。
<<.classpath>>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="output" path="bin"/>
<classpathentry kind="src" path="src/main/scala"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER" exported="true"/>
<classpathentry kind="con" path="org.scala-ide.sdt.launching.SCALA_CONTAINER" exported="true"/>
<classpathentry kind="lib" path="C:/Users/mm/.gradle/caches/modules-2/files-2.1/javax.media/jmf/2.1.1e/fe9287a362578bfb8b7b9dba42af0ec80a297abb/jmf-2.1.1e.jar" exported="true"/>
</classpath>
Eclipse のビルド パスを構成して手動で追加しようとしましscala-swing.jar
たが、問題なく動作しますが、Gradle ビルド スクリプトを実行するたびにこれを行う必要があります。scala-swing-something.jar
Gradle によってインポートされなかった理由とその修正方法を提案してください。
これは、実行後のログ メッセージです$ gradle dependencies
。
$ gradle dependencies
:dependencies
------------------------------------------------------------
Root project
------------------------------------------------------------
archives - Configuration for archive artifacts.
No dependencies
compile - Compile classpath for source set 'main'.
+--- org.scala-lang:scala-swing:2.10.4
| \--- org.scala-lang:scala-library:2.10.4
\--- javax.media:jmf:2.1.1e
default - Configuration for default artifacts.
+--- org.scala-lang:scala-swing:2.10.4
| \--- org.scala-lang:scala-library:2.10.4
\--- javax.media:jmf:2.1.1e
runtime - Runtime classpath for source set 'main'.
+--- org.scala-lang:scala-swing:2.10.4
| \--- org.scala-lang:scala-library:2.10.4
\--- javax.media:jmf:2.1.1e
testCompile - Compile classpath for source set 'test'.
+--- org.scala-lang:scala-swing:2.10.4
| \--- org.scala-lang:scala-library:2.10.4
\--- javax.media:jmf:2.1.1e
testRuntime - Runtime classpath for source set 'test'.
+--- org.scala-lang:scala-swing:2.10.4
| \--- org.scala-lang:scala-library:2.10.4
\--- javax.media:jmf:2.1.1e
zinc - The Zinc incremental compiler to be used for this Scala project.
No dependencies
BUILD SUCCESSFUL
Total time: 11.159 secs