我正在尝试在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>
答案 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项目非常重要。