После установки плагинов eclipse scala и плагина eclipse maven для scala.Ошибка: не удалось найти или загрузить основной класс в scala
Я новичок в scala, поэтому я попытался обеспечить, чтобы окружающая среда работала после тестирования проекта scala hello world. Он работает так, как ожидалось.
Но я столкнулся с трудностями при попытке выполнить проект, который я проверил из репозитория компании. Независимо от того, что я делаю (чистую, строю, чистую установку через mave и т. Д.), Я получаю «Ошибка: не удалось найти или загрузить основной класс com.company.team.spark.sqlutil.testQuery» при попытке запустить даже небольшая приветственная программа мира внутри проекта. Моя догадка говорит, что eclipse не может создавать файлы классов для проекта из-за pom issse, но я не могу прибить его даже после нескольких попыток. Пожалуйста, помогите мне понять это
Версия: Затмение Луна релиз (4.4.0) Сложение ID: 20140612-0600
Скала - 2.10.6
Scalacode - testQuery.scala
package com.company.team.spark.sqlutil
object testQuery {
def main(args: Array[String]): Unit = {
print ("Hello")
}
}
Ниже приведен POM, который я использовал.
<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.company.team.spark</groupId>
<artifactId>HomeSpark</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>HomeSpark</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<lib.dir>${project.basedir}\lib\</lib.dir>
</properties>
<dependencies>
<!-- <dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-core</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>system</scope>
<systemPath>${lib.dir}junit-3.8.1.jar</systemPath>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}spark-core_2.10-2.1.0.jar</systemPath>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>2.1.0</version>
<scope>system</scope>
<systemPath>${lib.dir}spark-sql_2.10-2.1.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-csv_2.10</artifactId>
<version>1.5.0</version>
<scope>system</scope>
<systemPath>${lib.dir}spark-csv_2.10-1.5.0.jar</systemPath>
</dependency> -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core_2.10 -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.spark/spark-sql_2.10 -->
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.10</artifactId>
<version>2.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.databricks/spark-csv_2.10 -->
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-csv_2.10</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<version>1.9.2</version>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/scala</sourceDirectory>
<testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
<plugins><plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.1.3</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin></plugins>
</build>
</project>
Link к изображению структуры проекта
это во время работы от затмения? если у вас установлен maven, попробуйте «mvn clean compile» из командной строки, который загрузит вам зависимостей и посмотрит, все ли работает нормально. – prayagupd
@prayagupd Я устал чистить компиляцию через eclipse [run as> maven build], он загрузил зависимости. Но все равно получая ту же ошибку при попытке запустить мир привет через/src/test/scala. код подобен объекта testQuery { Защиту основных (арг: Array [String]): Unit = { печать ("Hello") } } Мои извинения, оставил ту часть, где это было испытание класса. Но ваше предложение действительно работало, когда я переместил его в папку src/main/scala и удалил часть **: Unit = "** только. Спасибо! – stormfield
@prayagupd какие-либо предложения, чтобы его тестовый класс работал? – stormfield