当前位置: 首页 > 知识库问答 >
问题:

无法找到或加载带有gradle生成的jar文件的主类

长孙鸿振
2023-03-14

我在这个阶段坚持了几个小时,不知道我错过了什么。也许有人看到了明显的错误...

在第一步中,我用Gradle构建一个jar文件:

jar {
    manifest {
        attributes(
                'Main-Class': 'ch.hsr.ebos.offliss.server.Main',
                "Class-Path": configurations.compile.collect { it.getName() }.join(' ')
        )
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}
java -jar build/libs/server.jar 
Error: Could not find or load main class ch.hsr.ebos.offliss.server.Main
Manifest-Version: 1.0
Class-Path: 
Main-Class: ch.hsr.ebos.offliss.server.Main
  • https://gitlab.com/hsr-ebs/poc/blob/feature/offliss-server-jar/ebos/offliss/server/build.gradle
  • https://gitlab.com/hsr-ebs/poc/blob/feature/offliss-server-jar/ebos/offliss/server/src/main/java/ch/hsr/ebos/offliss/server/main.java

共有1个答案

徐俊楚
2023-03-14

通过将gradle构建配置更改为:


jar {
    manifest {
        attributes(
                'Main-Class': 'ch.hsr.ebos.offliss.server.Main'
        )
    }
}


task fatJar(type: Jar) {
    manifest.from jar.manifest
    classifier = 'all'
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    } {
        exclude "META-INF/*.SF"
        exclude "META-INF/*.DSA"
        exclude "META-INF/*.RSA"
    }
    with jar
}

 类似资料:
  • 我有一个简单的例子 这是在IntelliJ中创建的,我想在其中构建JAR文件;所以我所做的: 添加了具有依赖项的工件(我可能有一些); 确保位于中,因为它已经在站点的某个地方提到过。 运行工件生成器,它在out文件夹中为我提供了JAR文件,而我运行的JAR文件说我“找不到或加载主类” 我怀疑这是一个原因。有什么想法吗?

  • 我在创建工作JAR文件时遇到问题。我可以跑步。类文件如下所示: 但作为jar运行(在构建脚本中)失败: 我将通过使用简单的Hello World项目来简化我遇到的问题: 文件需要进入文件夹。JAR文件需要在文件夹中。是构建JAR文件的bash脚本。如下: 你好世界java: 运行JAR文件,如构建中所示。sh结果 如前所述,直接运行应用程序效果很好。 这是的结构。 的内容。 我已经工作了6年了,现

  • 问题内容: 我正在尝试使用Gradle运行一个非常简单的项目,并在使用时遇到以下错误: 这是我的文件结构: 我排除了libs和tmp文件夹的内容,因为我认为这与该问题无关,但是我可以在需要时添加它。 这是我的build.gradle文件: 关于如何解决此问题的任何想法?我已经为mainClassName属性尝试了各种方法,但似乎没有任何效果。 问题答案: 我在这里看到两个问题,一个与另一个有关。

  • 我在IntelliJ中创建了一个带有选项的JAR工件,将JAR文件提取到目标JAR中。看这个样子: 我正确填写了清单信息: 我用ZIP检查了JAR文件的内容,它包含了JAR文件、正确填充的manifest.mf和项目的.class文件。 谢谢:Levente

  • 我试图复制Spring Boot Kotlin示例项目https://github.com/jetbrains/kotlin-examples/tree/master/tutorials/spring-boot-restful。我添加了更多的依赖项,当我试图构建可执行jar并运行它时,我得到了错误:

  • 几天来,我一直在尝试为我的多模块maven项目创建一个可执行的jar文件。但是,当我尝试运行这个jar文件时,我得到“无法找到或加载主类src.main.java.com.domain.MainClass”(为了公司的隐私,我已经更改了名称domain和MainClass) 我已经找了几天了,没有一个明显的提示似乎有效。 我使用的命令:mvn clean package,然后我cd到目标文件夹中,