【发布时间】:2015-02-28 03:19:39
【问题描述】:
我是学习 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其中
build.gradle是Gradle 构建脚本,Foo.scala是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
【问题讨论】:
标签: scala gradle scala-ide scala-swing