java - “Cannot find or load main class net.epsilon.app.Main” Java [等级]

标签 java gradle fatjar

当我使用此命令“java -jar epsilon-1.0.jar”启动.jar时
他说:“无法找到或加载主类net.epsilon.app.Main”

plugins {
    id 'java'
}

group 'net.epsilon'
version '1.0'

sourceCompatibility = 1.8

repositories {
    mavenCentral()
}

task fatJar(type: Jar) {
    manifest {
        attributes["Main-Class"] = "net.epsilon.app.Main"
    }
    destinationDir = file("C:/Users/EliXorZz/Desktop/EpsilonAPP")
    from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
    with jar
}

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.13'
    compile group: 'com.github.docker-java', name: 'docker-java', version: '3.2.0'
    compile group: 'redis.clients', name: 'jedis', version: '3.3.0'
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
    compile 'me.tongfei:progressbar:0.8.1'
}


请帮帮我。
谢谢。

抱歉,我不是英语。

最佳答案

不,它不能以这种方式工作。

首先,将所有jar都复制到名为C:/Users/EliXorZz/Desktop/EpsilonAPP的文件夹中,但是在运行jar时,永远不会告诉Java将复制的jar放入类路径中。

所以实际上运行jar的命令是:

java -jar epsilon-1.0.jar -classpath 'C:/Users/EliXorZz/Desktop/EpsilonAPP/*'

关于java - “Cannot find or load main class net.epsilon.app.Main” Java [等级],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61815999/

相关文章:

java - Gradle kotlin js 模块依赖于多平台模块

gradle - 如何使用 Kotlin DSL 和插件在 Gradle 中创建一个胖 Jar

java - 使用 ProcessBuilder 运行 Java 主类

android - 将Eclipse制作的Android项目从Github导入并转换为Android Studio Gradle-build

kotlin - 从 kotlin 多平台项目创建 fat jar

spring-boot - 作为 Fat JAR 运行的原始 Axon 应用程序不会自动配置 Axon Beans

java - 如何以相同的格式在 Excel 工作表中写入 java 控制台输出

java - 将对象强制转换为类的类型安全方法

java - java中的聚合

java - int 初始化的不同方式