【问题标题】:How to run a basic Spring MVC Application without any IDE?如何在没有任何 IDE 的情况下运行基本的 Spring MVC 应用程序?
【发布时间】:2018-07-25 02:58:27
【问题描述】:

我已经创建了一个基本的 Spring MVC Hello World 应用程序,但我想了解如何使用命令行而不是 IDE 来运行它?

我创建了一个简单的 Spring MVC Hello World 应用程序,其目录结构如下:

└── spring-mvc-cmd-line

└── src
    └── main
        ├── resources
        └── webapp
            ├── WEB-INF
            │   └── web.xml
            └── index.jsp

6 个目录,3 个文件

在各自的目录中包含 Controllers 、 xml 和 jar 文件。

使用 Eclipse 我只需要运行为 -> 服务器, 并使用 maven 我做 maven 包并将 war 文件复制到 tomcat webapps 目录中 但是如何使用命令提示符实现相同的输出。

请帮忙 提前致谢。

【问题讨论】:

  • 如果它基于maven。你可以使用mvn install
  • 不,不是基于 maven 的
  • 尝试将其归档为 war 文件,然后在 Apache Tomcat 上将其归档为 deploy。您最好拥有最新版本的 Apache Tomcat tomcat.apache.org/tomcat-9.0-doc/index.html

标签: java spring-mvc command-line


【解决方案1】:

很遗憾,您没有提供有关 Spring MVC 应用程序的详细信息。我将在 Spring Boot 应用程序的示例中对其进行描述。我从https://spring.io/guides/gs/serving-web-content/ 下载了zip,然后解压缩并导航到complete 文件夹。为了从命令行运行应用程序,您需要先编译和打包它。此项目有 2 个可用选项:使用 maven 或 gradle。我将展示如何使用 maven:

  1. 确保已安装 Maven:打开 ./complete 文件夹的命令行并运行命令 mvn --version。它应该输出 Maven 版本信息。
  2. 运行mvn package。它应该构建项目(最后输出“BUILD SUCCESS”)
  3. 如果 2 步成功,请转到名为 target 的文件夹。应该有文件gs-serving-web-content-0.1.0.jar
  4. 从命令行导航到名为 target 的文件夹:cd target
  5. 运行java -jar gs-serving-web-content-0.1.0.jar
  6. 您可以终止应用程序,然后使用第 5 步重新运行它。

如果您从./complete 文件夹:mvn spring-boot:run 运行应用程序,则只需一个命令即可打包和运行应用程序(即不需要步骤 2-5)。

【讨论】:

  • 我认为是的,但是你需要做与 maven 相同的工作(好吧,可以跳过一些 maven 工作):从存储库下载所有必要的依赖项(即使对于这样的小项目)是 39 个库类,它们包含在生成的 jar 文件中)具有正确的版本,以便它们可以相互协作,使用正确的类路径和开关运行 javac,为 Spring Boot 创建一些文件以发挥它的魔力,以正确的方式打包应用程序,等等。这只是耗时。这就是人们使用 Maven 或 Gradle 等工具的原因。
  • 您可以使用其中一个打包应用程序 1 次,然后仅使用 java:java -jar gs-serving-web-content-0.1.0.jar 运行它。打包后不需要使用 Maven 或 Gradle。
  • 我完成了第4步,不是jar文件,而是war文件,可以吗,接下来我该怎么办?
  • 那么您有 2 个选项:1)如果应用程序包含嵌入式 servlet 容器,则尝试从控制台运行 java -jar yourWarFile.war 2)如果不是,则在它所依赖的 servlet 容器上运行它。如果是Tomcat,则将其放入webapps目录中运行tomcat。
猜你喜欢
  • 1970-01-01
  • 2018-04-01
  • 1970-01-01
  • 2021-09-14
  • 2022-10-30
  • 1970-01-01
  • 2021-09-04
  • 2020-10-19
  • 1970-01-01
相关资源
最近更新 更多