eclipse - 在Eclipse项目中混合Scala和Java文件

标签 eclipse scala eclipse-plugin scala-2.8

我可能正在做一些愚蠢的事情,但我找不到它。

我已经安装了Eclipse Helios(Helios,因为我无法获得Glassfish支持以使用Gallileo正常工作),并且已经安装了针对Helios的Scala Eclipse插件

我创建了一个Scala项目并添加了一些文件-Java和Scala的混合。

它们在语法上似乎都是正确的-Eclipse编辑器似乎至少知道每个文件是什么语言,并且在我制作它们时正确报告了语法错误-但是Java文件找不到在Scala中创建的类。 IDE站点似乎建议这一切都应该起作用。

bin目录中没有任何Scala文件的类文件(Java文件定义的每个类都有类文件),因此似乎出于某种原因未构建Scala文件。这些缺少的类文件将解释为什么Java文件看不到这些类。

我错过了什么?我如何告诉Eclipse构建那些文件?

最佳答案

我也在使用Helios(因为我已经使用了64位),并且发现该插件有时会有点奇怪(尽管说实话,与Galileo并没有太大区别)。如您所见,将Java和Scala混合使用时,看起来似乎没有问题,但是没有编译后的代码。或更糟糕的是,依赖于Scala类的Java类将不会编译,因为Scala类尚未编译-但是直到项目中所有错误都消除后它才编译,这当然要等到编译后才会发生... ug。

我开始修改类路径和项目文件,并最终使它起作用,尽管我不能真正说出原因。我发誓我更改了文件,然后将其更改回,然后它起作用了??

无论如何,这是我的文件:

<?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>




<?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>


关键的事情似乎是SCALA_CONTAINER在JRE_CONTAINER之前,但是...我也不敢打赌。 “自然”的顺序也可能很重要。

它已经为我工作了一两个星期,并且每天都有更新,所以...

关于eclipse - 在Eclipse项目中混合Scala和Java文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449218/

相关文章:

java - 搭建 Java + svn + Eclipse+ Tomcat , 使用 docker 开发环境

eclipse - 使用所有插件引导新的 Eclipse 机器

scala - 为什么当我打印希腊字符时,IntelliJ 的 scala 控制台会显示问号?

list - 用其他元素替换某个元素的每次出现

java - 将 Eclipse 插件项目转换为 Eclipse RCP 应用程序

java - 如何从 phpmyadmin 检索数据并在 Android 应用程序中显示

scala - printwriter 在 hdfs 路径中只考虑一个斜杠而不是双斜杠

android - 如何在 ubuntu 的 eclipse Juno 中设置 NDK?

java - SWT Eclipse : Add a menu option to the left of Quick access search box

java - 如何获得 try/catch 语句的正确输出?