Vig*_*dén 7 java eclipse rest spring maven
我在Eclipse中使用Spring STS来创建一个简单的基于Web的spring boot项目.我可以在Eclipse中运行它,但当我尝试将其导出为JAR文件时,我得到:
rg.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is org.springframework.context.ApplicationContextException: Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
Run Code Online (Sandbox Code Playgroud)
我public static void main的位于Application.java,带有@SpringBootApplication注释.
我已经对所有Maven依赖项进行了一次双重检查.
我究竟做错了什么?
chr*_*ke- 17
最有可能的是,您使用内置的Eclipse导出器来生成jar,其中只包含该项目中实际生成的目标文件.为了拥有一个"胖"(独立可执行文件)jar,你需要使用Spring Boot Maven或Gradle插件来"重新打包"jar.
首先,请确保您有repackage包含在构建设定目标,然后使用Maven package目标.最简单的方法是从命令行运行mvn package(您可能需要为您的操作系统安装Maven CLI软件包); 您还可以右键单击Eclipse中的POM和"Run As"以从Eclipse中执行特定的Maven操作.
这是一个单行命令,在7/10窗口的计算机上,带有命令提示符到项目文件夹(在项目工作区内部)。我不使用Eclipse IDE POM Maven目标,但是您也可以使用Maven目标。在窗口机器上,我更喜欢cmd.exe进行导出和运行。
mvnw clean package
Run Code Online (Sandbox Code Playgroud)
基于unix内核
./mvnw clean package
Run Code Online (Sandbox Code Playgroud)
您必须进入工作空间,而不是项目根文件夹。您将看到一个maven包装器mvnw,不需要安装maven,并且在同一级别的.mvn文件夹为此提供了必要的jar。对于项目
D:\workspace\Zuteller Workspace\zusteller>mvnw clean package
Run Code Online (Sandbox Code Playgroud)
它将在同一级别zusteller-0.0.1-SNAPSHOT.jar的目标文件夹中创建。
D:\workspace\Zuteller Workspace\zusteller>java -jar target\zusteller-0.0.1-SNAPSHOT.jar
Run Code Online (Sandbox Code Playgroud)
您可以运行独立的应用程序(嵌入式Tomcat)并在localhost:8080 /您的项目中访问
| 归档时间: |
|
| 查看次数: |
42618 次 |
| 最近记录: |