【问题标题】:Gradle-Scala Project Error - Could not load Main ClassGradle-Scala 项目错误 - 无法加载主类
【发布时间】:2021-06-16 20:30:27
【问题描述】:

我在 intellij 中创建了一个 gradle/scala 项目。 这是我的项目结构

build
gradle
      - wrapper
META-INF
out
src
   - main
          -resources
          -scala
   - test
         -resources
         -scala
build.gradle
gradlew
gradlew.bat
settings.gradle

这些是我的 build.gradle 文件的内容

plugins {
    id 'scala'
}
group 'org.example'
version '1.0-SNAPSHOT'
repositories {
    mavenLocal()
    maven {
        url = uri('<artifactory location>')
    }
}
jar {
    manifest {
        attributes(
                'Class-Path': configurations.compile.collect { it.getName() }.join(' '),
                'Main-Class': 'org.example.Hello'
        )
    }
}
sourceCompatibility = '12'
dependencies {
    implementation 'org.scala-lang:scala-library:2.12.14'
    testImplementation 'org.scalatest:scalatest_2.12:3.0.5'
    testRuntimeOnly 'org.scala-lang.modules:scala-xml_2.12:1.1.1'
}
test {
    useJUnitPlatform()
}

主课内容

package org.example
object Hello extends App {
   println("hello!")
}

当我尝试构建 jar 并执行它时,它给出了一个错误 Could not find or load main class org.example.Hello 。这里可能有什么错误?

【问题讨论】:

  • Hello.scala 是什么样的?
  • 它只有一个 println
  • 是否也声明了包名?
  • 是的,它确实有一个包名(已添加问题中的内容)
  • 执行命令是什么?你可以检查jar中是否存在类文件吗?

标签: scala gradle


【解决方案1】:

我能够通过在 settings.gradle 中添加以下内容来解决问题

rootProject.name = 'gradle-scala'
include('gradle-scala')

基本上,include标签是用来指定代码所在目录的。

【讨论】:

    【解决方案2】:

    我看到out目录,你能检查一下gradle设置吗 确保在下面打勾

    【讨论】:

      猜你喜欢
      • 2021-09-18
      • 2021-12-07
      • 2016-01-21
      • 2016-05-21
      • 2018-03-30
      • 1970-01-01
      • 2018-10-19
      • 2019-07-16
      • 1970-01-01
      相关资源
      最近更新 更多