The*_*aul 18 eclipse scala eclipse-plugin scala-2.8
我可能做了一些愚蠢的事,但我无法发现它.
我已经安装了Eclipse Helios(Helios,因为我无法使用Gallileo使Glassfish支持正常工作)以及Helios的Scala Eclipse插件的每晚构建
我创建了一个Scala项目并添加了一些文件 - Java和Scala的混合.
它们在语法上看起来都是正确的 - Eclipse编辑器至少似乎知道每个文件是什么语言,并在我编写时正确报告语法错误 - 但是Java文件找不到在Scala中创建的类.IDE网站似乎建议这应该只是工作.
任何Scala文件的bin目录中都没有类文件(Java文件定义的每个类都有类文件),因此似乎由于某种原因没有构建Scala文件.这些缺少的类文件将解释为什么Java文件看不到类.
我错过了什么?我如何告诉Eclipse构建这些文件?
我还使用太阳神(因为我已经走了64位),并发现该插件有时表现得有点古怪(不过说实话比伽利略没有太大的区别).当你发现混合使用Java和Scala时,它看起来似乎没有问题,但是没有编译代码.或者更糟的是一个Java类依赖于Scala的类将无法编译,因为Scala的类没有被编译进 - 但它不会编译,直到所有的错误都从项目中,不见了这当然不会发生,直到它编译......呃.
我开始修改类路径和项目文件,最终让它工作,虽然我不能真正说出原因.我发誓我更改了一个文件,然后将其更改回来,然后它工作了?
无论如何,这是我的文件:
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>xxxxxxxxxxxxx</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.scala-ide.sdt.core.scalabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.scala-ide.sdt.core.scalanature</nature>
</natures>
</projectDescription>
Run Code Online (Sandbox Code Playgroud)
和
<?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="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)
关键的事情似乎是SCALA_CONTAINER来到JRE_CONTAINER之前,但是......我也不会赌它."性质"的顺序也很重要.
它现在已经为我工作了一两个星期,每天更新,所以...*手指交叉*
我注意到Eclipse-IDE有时在创建新文件时不会编译我的Scala文件.我必须在Package Explorer中选择项目并刷新它(F5).此外,您可以通过转到以下内容来更改Eclipse中的编译顺序(Java first vs. Scala first)
Window-> Preferences-> Scala-> Compiler-> Build Manager-> compileorder
| 归档时间: |
|
| 查看次数: |
14849 次 |
| 最近记录: |