【发布时间】:2018-06-03 03:33:19
【问题描述】:
我是 Spring Boot 的新手,我已经完成了一个在我的本地主机上运行良好的应用程序。正如我被告知将其部署在我的本地主机之外的那样,例如 webbhotel 或 simular,我需要将项目导出为 war 文件而不是 jar 文件。
更新!! 我将项目作为在 Spring Initialzr 中生成的 Springproject 运行,并使用 Eclipse 作为 IDE。
在 Eclipse 中我已经按照步骤进行了
<packaging>war</packaging>
和
<dependencies>
<!-- … -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- … -->
</dependencies>
来自 Spring Boot 参考页面 https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-create-a-deployable-war-file
在我的项目中我使用
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
我是否需要添加 sprinng-boot-starter-tomcat 依赖项并在 tomcat-embed-jasper 上添加提供的依赖项,以便我的依赖项是这样的?
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
当我尝试在 Eclipse 中导出到 war-file 时,Eclipse 找不到我的项目。如果我尝试导出 Java>JAR FILE,它可以找到它,但如果我尝试 Web>WAR FILE
则找不到有谁知道我做错了什么以及是否需要导出到 WAR 文件以部署到外部服务器?
【问题讨论】:
-
不要使用 IDE 中的导出 JAR/WAR 功能...使用 maven 构建存档。
-
如何将项目导出到WAR?使用
mvn package或其他方式?如果执行 Maven 构建,它是否成功完成? Maven 构建完成后,您最终在target文件夹中看到了什么? -
我已经尝试过 Eclipse 导出功能,如果我使用 maven 功能,我应该使用上面提到的两个依赖项还是使用 tomcat-embed-jasper 就足够了
-
我不知道从 cmd 编程 spring 和 maven。我使用 Spring intlzr 创建项目并使用 eclipse 进行编码和测试。在 localhost 上一切正常,程序运行正常。当我尝试导出项目时,Eclipse 工作中的唯一选择是导出为 jar 文件。所以我没有从 cmd 使用 maven build 或 maven 包
-
好吧,试一试,看看你最终会得到什么,如果你有任何问题,请回来。无论如何,对于任何严肃的 Java 开发,您都必须学习 Maven。忠告:编辑您的原始帖子以获取任何更新/问题/新问题(或创建新问题),而不是将其放入 cmets
标签: java eclipse maven spring-boot war