首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring boot应用程序可以在STS中运行,但无法使用java -jar启动。

Spring Boot是一个用于快速构建独立的、基于Spring框架的Java应用程序的开发框架。它提供了自动配置和约定优于配置的原则,使得开发者可以更加专注于业务逻辑的实现而不需要过多关注底层的配置细节。

在STS(Spring Tool Suite)中运行Spring Boot应用程序是非常方便的,因为STS是专门为Spring开发提供的集成开发环境,它提供了许多便捷的功能和工具来简化Spring应用程序的开发和调试过程。

然而,有时候我们可能需要将Spring Boot应用程序打包成可执行的JAR文件,并通过命令行的方式来启动应用程序。在这种情况下,使用"java -jar"命令启动Spring Boot应用程序可能会遇到问题。

这个问题通常是由于Spring Boot应用程序的打包方式导致的。默认情况下,Spring Boot应用程序会被打包成一个可执行的JAR文件,其中包含了所有的依赖库和资源文件。然而,这种打包方式可能会导致一些类路径的问题,从而导致应用程序无法正常启动。

解决这个问题的方法是,在Spring Boot应用程序的配置文件(通常是application.properties或application.yml)中添加以下配置:

代码语言:txt
复制
spring.main.allow-bean-definition-overriding=true

这个配置可以允许Spring Boot应用程序在启动时覆盖已有的Bean定义,从而解决类路径冲突的问题。

另外,如果你使用的是Maven作为构建工具,还可以尝试将Spring Boot应用程序打包成可执行的WAR文件,而不是JAR文件。这样可以避免一些类路径的问题。

总结起来,当Spring Boot应用程序在STS中可以正常运行但无法使用"java -jar"启动时,可以尝试以下解决方法:

  1. 在应用程序的配置文件中添加配置:spring.main.allow-bean-definition-overriding=true
  2. 尝试将应用程序打包成可执行的WAR文件而不是JAR文件。

关于Spring Boot的更多信息和详细介绍,你可以参考腾讯云的相关文档和产品:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目01

    文章目录 概述 使用Spring Tool Suite构建Spring Boot项目 下载STS 插件安装 搭建第一个Spring Boot项目 启动项目 概述 通常,构建一个Spring Boot项目有如下方式...---- 使用Spring Tool Suite构建Spring Boot项目 下载STS 访问 https://Spring.io/tools/sts/all,并下载 STS 的最新发布版 ----... Dashboard 可以看到“Manage IDE Extensions”按钮,然后,需要在“Language and framework tooling”区域中选择下载“Gradle Support...尽管仍然可以将其打包为 WAR,这并不是推荐的实践 默认情况下,Spring Boot 将会创建一个胖 JAR 包(fat JAR),这个 JAR包含了应用所有的依赖,提供了通过“java-jar...application.properties,它是 Spring Boot 默认的配置文件,默认是空的 构建文件 build.gradle 启动项目 到这里,我们就可以运行应用的主方法,这样就会启动一个

    76030

    Spring Boot从零入门3_创建Hello World及项目剖析

    STS,包一键导入快捷键Ctrl + Shift + o 3.1.3 运行Hell World Web应用 上述修改两个文件就完成一个基本的Hello World!...接下来就可以看到STS的console(控制台)中看到Web 服务启动的过程了,没有出现错误,Tomcat initialized with port(s): 8080 (http),打开浏览器,输入...JAR添加一个描述文件,其中的内容能让你用java -jar运行应用程序。...(RetentionPolicy.RUNTIME) // 元注解, 注解可以保留到程序运行的时候,它会被加载进入到 JVM ,所以程序运行可以获取到它们 @Documented // 元注解,将注解的元素包含到...,默认为spring.log logging.file.path=C:\\Work\\sts4\\test_02_helloworld\\logs # 自定义属性值,然后应用程序通过@Value注解来赋值

    96810

    你的Idea还可用吗?不妨试试另一个开发神器!

    它提供了一个现成的使用环境来实现, 调试, 运行, 和部署你的Spring应用程序。包括为关键的的服务器和云计算,Git, Maven, AspectJ, 和最新的Eclipse版本提供整合支持。...解压之后可以找到一个可运行的安装程序,点击运行。 ? 选择工作空间 ? OK,我们的STS安装就已经完成了 ? 二、STS使用 STS本身是对Eclipse的包装,所以相关配置基本相同。...3、使用STS创建SpringBoot项目 直接点击Package Explorer的“Create new Starter Project”,创建Spring Boot项目 ?...选择相应的Java版本,填入项目的相关配置(这里不引入其它依赖一路next) ? SpringBoot项目已经创建完成 ? 右键工程菜单,选择Run As->Spring Boot App,运行项目。...配置jdk 【6】:STS(Spring Tool Suite)配置Maven,以及配置不成功的解决方案

    1.4K20

    Spring认证指南:了解如何使用 Spring 的 RESTful Web 服务

    你将建造什么 您将构建一个应用程序,该应用程序使用 SpringRestTemplate https://quoters.apps.pcfone.io/api/random检索随机 Spring Boot...A启动CommandLineRunner时运行RestTemplate(并因此获取我们的报价)。...您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行它。构建可执行 jar 可以整个开发生命周期、跨不同环境等轻松地作为应用程序交付、版本化和部署服务。.../gradlew build,然后运行JAR 文件,如下所示: java -jar build/libs/gs-sumption-rest-0.1.0.jar 如果您使用 Maven,则可以使用..../mvnw spring-boot:run. 或者,您可以使用构建 JAR 文件,.

    86220

    Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目02

     对 Spring Boot 插件的依赖,它分布 Maven 中央仓库。  我们的项目是 Java 工程。Gradle 可以为 Eclipse 生成 IDE 工程文件。...可运行JAR Spring Boot 主要的一个优势在于将应用所需的所有内容都放到一个易于重发布的JAR 文件,其中包含了Web服务器。...如果你运行 java jar masterSpringMvc-0.0.1-SNAPSHOT.jar 的话,Tomcat 将会在 8080 端口上启动,就像在开发期一样。...---- 为什么一个main函数就能启动web并提供这么多功能 我们启动应用时,是从main 函数启动,这种方式有很大的优势,因为我们可以 IDE 运行其他程序那样运行这个应用。...如果你将其移除掉的话,就无法Spring Boot 的自动配置受益了。 使用 Spring Boot 来编写 MVC 应用的第一步通常是代码添加控制器。

    89730

    微服务架构之Spring Boot(十四)

    19.运行您的应用程序应用程序打包为jar使用嵌入式HTTP服务器的最大优势之一是,您可以运行任何其他服务器一样运行应用程序。调试Spring Boot应用程序 也很容易。...如果您选择将应用程序打包为war文件,则应参阅服务器和IDE文档。 19.1从IDE运行可以从IDE运行Spring Boot应用程序作为简单的Java应用程序。但是,您首先需要导入项目。...如果您不小心运行了两次Web应用程序,则会看到“端口已在使用”错误。STS用户可以使用 Relaunch 按钮而不是 Run 按钮 来确保关闭任何现有实例。...19.2作为打包应用程序运行 如果您使用Spring Boot Maven或Gradle插件创建可执行jar,则可以使用 java -jar 运行应用程序,如以下示例所示: $ java -jar target...=n \ -jar target/myapplication-0.0.1-SNAPSHOT.jar 19.3使用Maven插件 Spring Boot Maven插件包含 run 目标,可用于快速编译和运行您的应用程序

    37010

    使用Spring Data访问MongoDB数据库

    可以使用findByLastName按姓氏查找人员列表。 典型的Java应用程序,编写了一个实现CustomerRepository的类并自己编写查询。...构建可执行的JAR 我们可以使用Gradle或Maven从命令行运行应用程序。或者,可以构建一个包含所有必需依赖项,类和资源的可执行JAR文件,然后运行该文件。...这使得整个开发生命周期中,跨不同环境等将服务作为应用程序发布,版本和部署变得容易。 如果使用的是Gradle,则可以使用./gradlew bootRun运行应用程序。或者可以使用....然后可以运行JAR文件: java -jar build/libs/gs-accessing-data-mongodb-0.1.0.jar 如果使用的是Maven,则可以使用..../mvnw spring-boot:run运行应用程序。或者使用./mvnw clean包构建JAR文件。

    1.6K30

    大清朝早亡了,还没有入门 Spring Boot

    看看 Spring Boot 官网对自己的“王婆卖瓜自卖自夸”,感觉确实优秀啊。这意味着我们只需极少的配置,就可以快速创建一个可以正常运行Spring 应用程序。...我们知道,传统的 Web 项目通常需要放到 Tomcat 等容器下面启动运行,而 main() 方法则预示着该项目可以作为一个 jar 包直接运行——因为 Spring Boot 已经内置了 Tomcat...04、运行 Spring Boot 项目 接下来,我们直接运行 HelloSpringBootApplication 类,这样一个 Spring Boot 项目就启动成功了。 ?...原生的 jar 文件(.jar.original)只有不到 3 kb,非常小,因为没几行代码,打包后 .jar 文件有 19 M,这说明 Spring Boot 帮我们做了很多肉眼看不到的工作。...直接使用 java -jar helloSpringBoot-0.0.1-SNAPSHOT.jar 命令运行jar 包,同样可以看到 Tomcat 的启动信息。 ?

    59910

    Spring认证指南-了解如何使用 Spring Boot Actuator 创建 RESTful Web 服务。

    它还打开了 Spring MVC 的@EnableWebMvc注解,它激活了 Web 端点。 此应用程序没有定义端点,足以启动事物并查看 Actuator 的一些功能。...您还可以看到它来自/spring-boot-starter-json ,它本身由spring-boot-starter-web导入。 运行应用程序可以从自定义主类或直接从配置类之一运行应用程序。...构建一个可执行的 JAR可以使用 Gradle 或 Maven 从命令行运行应用程序。您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行它。...构建可执行 jar 可以整个开发生命周期、跨不同环境等轻松地作为应用程序交付、版本化和部署服务。 如果您使用 Gradle,则可以使用./gradlew bootRun....一旦服务运行(因为您spring-boot:run终端运行),您可以通过单独的终端运行以下命令来测试它: $ curl localhost:8080/hello-world {"id":1,"content

    2.1K30

    【译】Spring 官方教程:使用 Restdocs 创建 API 文档

    创建一个“main”类,你可以使用它来启动应用程序: src/main/java/hello/Application.java package hello; import org.springframework.boot.SpringApplication...通常,你将添加 @EnableWebMvc一个 Spring MVC 应用程序 Spring Boot 类路径中看到 spring-webmvc 时会自动添加它。...该 main() 方法使用 Spring Boot 的 SpringApplication.run()方法启动应用程序。你注意到没有一行 XML 吗?没有 web.xml 文件。...构建可执行的 JAR 文件 可以从 Gradle 或者 Maven 的命令行运行此程序,也可以构建一个单独的可执行的JAR文件,此文件包含了应用程序所有必需的依赖、类以及资源。...首先要做的是进行简单的可用性测试,如果应用程序上下文无法启动,该测试就会失败。

    5.3K70

    Spring Boot笔记1

    自动配置 Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程,考虑了众多因素,才决定Spring配置应该用哪个,不该用哪个。该过程是Spring自动完成的。...-- spring-boot-starter是Spring Boot的核心启动器。 只要引入官方提供的starter,就可以将此模块的相关jar都导入进来。...地址栏输入url进行访问测试: 注意:SpringBoot内嵌了Tomcat,所以只需要运行SpringBoot工程的主启动类即可。 2.1.6. 工程目录结构 2.2....测试 执行 DemoApplication类的入口方法,然后地址栏输入url进行访问测试。 2.3. 2.3.使用STS创建工程 2.3.1....SpringBoot热部署 我们开发反复修改类、页面等资源,每次修改后都是需要重新启动才生效,这样每次启动都很麻烦,浪费了大量的时间,我们可以修改代码后不重启就能生效, pom.xml 添加如下配置就可以实现这样的功能

    14810

    如何使用 Spring 和 RabbitMQ 创建一个简单的发布和订阅应用程序

    可以手动下载它,或者,如果您使用带有 Homebrew 的 Mac,则可以终端窗口中运行以下命令: brew install rabbitmq 通过终端窗口中运行以下命令,解压缩服务器并使用默认设置启动它...测试,您可以模拟运行器,以便可以单独测试接收器。 运行应用程序 该main()方法通过创建 Spring 应用程序上下文来启动该过程。这将启动消息侦听器容器,该容器开始侦听消息。...spring-boot最后,它关闭 Spring 应用程序上下文,应用程序结束。 构建一个可执行的 JAR可以使用 Gradle 或 Maven 从命令行运行应用程序。...您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行它。构建可执行 jar 可以整个开发生命周期、跨不同环境等轻松地将服务作为应用程序交付、版本化和部署。.../mvnw spring-boot:run. 或者,您可以使用构建 JAR 文件,.

    1.8K20

    SpringBoot 2.0 系列(三):流程详解(下)

    运行你的应用 将应用程序打包为jar使用嵌入式HTTP服务器的最大好处之一是,可以运行其他应用程序一样运行应用程序。调试SpringBoot应用程序也很容易。...通过IDE启动 我们可以将IDE的SpringBoot应用程序作为一个简单的Java应用程序运行。但是,我们首先需要导入项目。导入步骤取决于我们的IDE和构建系统。...如果我们不小心运行了两次web应用程序,我们会看到一个“已经使用的端口”错误。STS用户可以使用 Relaunch按钮而不是Run按钮来确保关闭任何现有实例。...作为打包的应用程序运行 如果我们使用Spring Boot Maven或Gradle插件来创建可执行jar,我们可以使用java -jar运行应用程序,如下例所示: $ java -jar target...=n \ -jar target/myapplication-0.0.1-SNAPSHOT.jar 使用Maven插件 Spring Boot Maven插件包含一个可以用来快速编译和运行应用程序运行目标

    75230

    微服务架构之Spring Boot(十一)

    13.5 Starters Starters是一组方便的依赖描述符,您可以应用程序包含这些描述符。...例如,安装了适当的Eclipse或STS插件后,可以POM编辑器按 ctrl-space 并输入“spring-boot-starter”以获取完整列表。...Spring Boot应用程序启动器 最后,Spring Boot还包括以下可用于排除或交换特定技术方面的启动器: 有关其他社区贡献的启动器的列表,请参阅GitHub上 spring-boot-starters...14.构建您的代码 Spring Boot不需要任何特定的代码布局。但是,有一些最佳实践可以提供帮助。 14.1使用“默认”包 当一个类不包含 package 声明时,它被认为是“默认包”。...对于使 用 @ComponentScan , @EntityScan 或 @SpringBootApplication 注释的Spring Boot应用程序,它可能会导致特定问题,因为每个jar的每

    55520

    SpringBoot【构建项目的多种方式】

    Gradle Android 中使用较多,Java 后端,目前来看还是 Maven 为主,因此这里选择第一项。 开发语言,当然选择 Java 了。...Packing 表示项目要打包成 jar 包还是 war 包,Spring Boot 的一大优势就是内嵌了 Servlet 容器,打成 jar 包后可以直接运行,所以这里建议打包成 jar 包,当然,开发者根据实际情况也可以选择...创建完成后, pom.xml 文件,添加如下依赖 org.springframework.boot spring-boot-starter-parent...添加成功后,再在 java 目录下创建包,包创建一个名为 App 的启动类,如下: ?...此时可以将SpringBoot的版本改为"1.5.18.RELEASE" ? 然后就可以使用了。创建和上面案例相同的测试代码,然后启动 ? ? ? ?

    1.3K30

    Spring认证指南:了解如何使用 Spring 安排任务

    启用计划 虽然计划任务可以嵌入到 Web 应用程序和 WAR 文件更简单的方法(显示在下一个清单)会创建一个独立的应用程序。...该main()方法使用 Spring Boot 的SpringApplication.run()方法来启动应用程序。您是否注意到没有一行 XML?也没有web.xml文件。...构建一个可执行的 JAR可以使用 Gradle 或 Maven 从命令行运行应用程序。您还可以构建一个包含所有必要依赖项、类和资源的单个可执行 JAR 文件并运行它。...构建可执行 jar 可以整个开发生命周期、跨不同环境等轻松地作为应用程序交付、版本化和部署服务。 如果您使用 Gradle,则可以使用./gradlew bootRun..../gradlew build,然后运行JAR 文件,如下所示: java -jar build/libs/gs-scheduling-tasks-0.1.0.jar 如果您使用 Maven,则可以使用

    1.1K20
    领券