【发布时间】: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中是否存在类文件吗?