首页 > 解决方案 > Spring boot maven可执行jar没有双击运行

问题描述

创建了一个简单的 spring boot 应用程序的 maven jar。如果我尝试使用 java -jar x.jar 从命令行执行 jar 文件并且运行正常,甚至可以看到 spring boot..booting up..

如果试图通过鼠标双击来执行它,它不会运行。一个命令窗口会弹出一毫秒然后消失,如果我尝试访问暴露的端点(HTTP Rest - Get)..site can't be reach error..

该项目是一个示例 Eureka 服务器,因此包含云依赖项。

任何想法可能是什么问题,它只是一些环境设置吗?!

问候,

从POM:

    <groupId>example.demo</groupId>
    <artifactId>EurekaServiceDiscovery</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
.
.
.
.
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
.
.
<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

基本的 Spring Eureka 示例,几乎没有代码,除了:

@EnableEurekaServer
@SpringBootApplication
public class EurekaServiceApplication {

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

标签: springmavenspring-boot

解决方案


你跟着这个吗? https://docs.spring.io/spring-boot/docs/current/reference/html/deployment-install.html

要使用 Maven 创建一个“完全可执行”的 jar,请使用以下插件配置:

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>

以下示例显示了等效的 Gradle 配置:

bootJar {
    launchScript()
}

然后,您可以通过键入 ./my-application.jar 来运行您的应用程序(其中 my-application 是您的工件的名称)。包含 jar 的目录用作应用程序的工作目录。


推荐阅读