在启用了Maven的Eclipse中运行Scala代码

时间:2015-11-16 23:27:13

标签: eclipse scala maven

我正在尝试在Eclipse中运行一些简单的Scala代码,但是当启用Maven时我无法使其工作。

我首先在Eclipse中创建一个Scala项目,然后使用以下代码添加一个对象:

object HelloSpark extends App 
{
    println("Hello, world!")
}

然后我使用“Run As>> Scala Application”成功执行上述代码:

  

你好,世界!

然后我点击“配置>>转换为Maven项目”启用Maven。虽然随后的构建成功,但“Run as>> Scala应用程序”选项不再出现。使用先前创建的启动配置会导致以下错误:

  

错误:无法找到或加载主类HelloSpark

尝试Eclipse, Scala & Maven - Class files are not generating的答案对我的情况没有帮助。

有人可以告诉我我做错了什么吗?我不明白为什么启用Maven会改变Scala代码的运行方式。

感谢。

编辑:这是我将上面的内容转换为Maven项目时自动生成的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>HelloSpark</groupId>
  <artifactId>HelloSpark</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <resources>
      <resource>
        <directory>src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.1</version>
        <configuration>
          <source>1.7</source>
          <target>1.7</target>
        </configuration>
      </plugin>
    </plugins>
  </build>

2 个答案:

答案 0 :(得分:0)

通常当你有一个maven项目时,该项目是用maven构建的。因此,您需要一个pom.xml文件,您可以在其中定义如何构建项目等。你知道吗,你配置了pom.xml吗?没有正确的pom文件,您无法构建和运行应用程序。

因此,如果没有正确的maven构建,您将没有类文件。因此,您收到此错误:Error: Could not find or load main class HelloSpark

答案 1 :(得分:0)

因此,仅仅将Eclipse项目转换为Maven项目是不够的。 Maven必须知道它是一个Scala项目并相应地构建它。

我按照http://docs.scala-lang.org/tutorials/scala-with-maven.html的说明操作,现在我有一个运行代码的工作项目。首先生成Maven原型然后在将其导入Eclipse之前将其转换为Eclipse项目非常重要。