【发布时间】:2017-03-16 13:53:16
【问题描述】:
有很多关于这个错误的帖子。其中一些值得一提的是onetwo。但我认为我的情况不同,我的主类在 XML 中添加依赖项之前正在运行,一旦我这样做,我就会收到错误 Error: Could not find or load main class example.test123
我按照this 视频链接尝试使用 Spark 在 Scala 中使用基本示例。我做了以下操作:
第一步:创建简单项目testalpha
第二步:a) 右击项目名称>>进入配置>>添加scala性质
b) 从 maven-repository 复制 XML 代码并将其粘贴到 pom.xml 文件中。 不要忘记右键单击 Scala Library Container 并将 scala 版本更改为 2.10.6
第 3 步:添加一个文件夹 scala,这样我们就有了 src/main/scala
第 4 步:在 src/main/scala 下创建一个包 example。在这个包中创建一个简单的 scala 对象并定义main 方法来打印hello。我的问题是:
如果我不在 XML 中添加任何依赖项。它打印hello。但是,一旦我添加了依赖项,我就会收到此错误Error: Could not find or load main class example.test123。
有人对此有任何想法吗?
显示项目结构的屏幕截图:
显示hello 打印的屏幕截图
<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>com.scalaproject</groupId>
<artifactId>testalpha</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>testalpha</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
代码片段:
package example
object test123 {
def main(args: Array[String]): Unit = {
print("Hello")
}
}
【问题讨论】:
-
请同时提供您的代码-sn-p
-
这个错误一般是在使用class而不是object的时候出现,如果要执行main方法,必须使用Scala object。
-
Kaushal 我正在使用 Scala 对象
-
我现在也有同样的问题,它困扰着我。我实际上得到了一个带有主要 scala 类/对象的好 uber jar。但是在我做了一个 Maven->Update Project 之后,这个包消失了并且构建不再包含主类。欢迎提出其他想法。很高兴你修好了。