java - 在没有 maven/Gradle 的情况下创建可执行的 WAR 文件 spring boot

标签 java spring-boot

我使用内置 tomcat 创建了一个简单的 springboot 应用程序,当我在 Eclipse 中将其作为 JAVA 应用程序运行时,该应用程序运行良好。我尝试将其导出为 WAR 文件,并尝试在 Windows 命令行和 UNIX 框中运行它。我尝试像下面那样执行它,

java -jar C:\Users\Iam\Documents\SpringHelloWorld.war main.java.com.controller.SpringBootWebApplication
Error: An unexpected error occurred while trying to open file C:\Users\Iam\Documents\SpringHelloWorld.war

java -cp C:\Users\Iam\Documents\SpringHelloWorld.war main.java.com.controller.SpringBootWebApplication
Error: Could not find or load main class main.java.com.controller.SpringBootWebApplication

我只是将其导出为 WAR 文件,在 Springboot 中将其导出为 WAR 之前我是否需要定义任何内容(注意:我没有使用 maven 或 gradle)

以下是我的项目结构:

enter image description here

最佳答案

也许没有 Maven/Gradle 就可以做到这一点,但我永远不会采用这种方法。

即使考虑到最好的情况,您最终也会重新创建其他人在 Spring Boot Parento pom.xml 或 Gradle 等效项中创建的内容,那么为什么您会浪费大量时间来重新创建某人已经创建的内容呢?别的?如果您确实想知道 war 是如何创建的,请查看 Spring Boot 父 pom,但您应该限制您的工作以包装已准备好用于生产的内容,以便组成您的解决方案。

还要考虑到 Maven 和 Gradle 会不断开发和更新,一切都属于它们的生态系统。如果您打算替换它们,那么您应该准备好单独维护和开发您自己的构建平台,这是一项艰巨的工作。

最好包含 Maven 或 Gradle,你会更有效率。

关于java - 在没有 maven/Gradle 的情况下创建可执行的 WAR 文件 spring boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50930114/

相关文章:

java - Spring返回自定义消息未按预期返回

java - 我们可以创建两个 log4j 实例吗

java - Spring boot 和 Angularjs Multipartfile 和 application/xml

spring - 为什么 Range header 不能用于使用嵌入式 Tomcat 从 Spring Boot WAR 托管的静态资源?

swing - 在我的 Swing 应用程序 Jar 中包含 JRE

spring - JPA 通过多条件查找

java - Spring Boot - 不允许使用 Post 方法,但 GET 有效

java - Android自定义库兼容性

java - 如何编写 web.xml 以使用 maven 和 jetty 启动服务器端

java - 在Android中什么时候应该使用锁,什么时候应该使用synchronized?有区别吗?