【问题标题】:How create runnable .jar file in Intellij/Gradle如何在 Intellij/Gradle 中创建可运行的 .jar 文件
【发布时间】:2017-11-15 16:00:49
【问题描述】:

谁能告诉我如何在 cmd 中使用 Intellij 和 Gradle 运行 .jar 文件?

我尝试创建清单文件但出现错误:

no main manifest attribute, in eureka-server.jar

Error: Could not find or load main class com.project.EurekaServerApplication
Caused by: java.lang.ClassNotFoundException: com.project.EurekaServerApplication

我的主要课程:

package com.project;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

在路径 /resources/META-INF 中的 MANIFEST.MF

Manifest-Version: 1.0
Main-Class: com.project.EurekaServerApplication

我也在 build.gradle 中尝试过

jar {
    manifest {
        attributes(
                'Main-Class': 'com.project.EurekaServerApplication'
        )
    }
}

我是这样运行这个jar文件的:

java -jar [nameApplication].jar

【问题讨论】:

  • 这是SpringBoot 应用程序,您应该使用gradle bootRun 命令而不是来自.jar 文件来运行它
  • 好的,但是我需要这个 jar 文件来创建 docker 容器并得到相同的错误。这个解决方案对我有帮助吗?
  • 你想知道如何运行.jar(问题文本)或如何创建一个(标题)?
  • 如何创建运行不出错。

标签: java intellij-idea gradle jar


【解决方案1】:

为了运行 .jar 文件,您必须在 gradle 构建后使其可执行(无论 intellij 是什么),请在您的 gradle 文件中使用 bootRepackage task

bootRepackage {
  mainClass = 'com.project.EurekaServerApplication'
}

【讨论】:

    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-03
    • 2014-03-10
    • 2017-06-04
    相关资源
    最近更新 更多