java - 将带有生成的 webapp 文件夹的 Maven 项目部署到 Apache Tomcat

标签 java maven jsp tomcat servlets

我正在尝试构建/部署/运行这个 maven/apache tomcat 项目 LODE .

这是我第一次看到这种风格的 java web 应用程序。我按照该项目网站上提供的说明进行操作。从 maven clean install 开始。然后生成了一个src文件夹,里面有一个java文件夹(包含java类)和一个webapp文件夹(包含web资源)见照片。

我习惯于拥有一个 WebContent 文件夹并可以生成 WAR 文件的结构。

photo from my eclipse IDE .

如何将这个项目部署到apache tomcat中并让它运行起来?

这是我尝试过的:

  1. 我尝试通过编辑 pom.xml 文件中的 build 部分生成一个 war 文件。但是,它没有用。
  2. 我试图在我的 eclipse IDE 中将项目添加到 Apache Tomcat 9。但是,Tomcat 不认为这是一个 Web 项目,所以我无法添加它(使用右键单击 Tomcat -> 添加/删除)。
  3. 在创建 WEB- 后,我尝试获取生成的 webapp 文件夹并将其部署到 Tomcat(没有 eclipse IDE --> tomcat manager ' http://localhost:8081/manager/html ' --> Deploy Directory) INF/classes 文件夹并将源限定包从生成的 src 文件夹移动到此文件夹。这不起作用,因为缺少 java 类(找不到 java 类/包错误)。

最佳答案

LODE's README清楚地说明了如何为应用程序提供午餐。好吧,您看不到 war ,因此无法部署在 tomcat 服务器上。

我找到了两种让它工作的方法:

  1. mvn clean jetty:run从终端。这将正常工作(在 jetty 服务器上运行)。

  2. 对于 tomcat 服务器,添加 <packaging>war</packaging>在 pom.xml 中生成 war 。然后手动重命名生成的 war(例如,LODE-1.3-SNAPSHOT.war 到 lode.war)或使用 maven 插件生成 war 名称。现在像往常一样将这场 war 部署到您的 tomcat 服务器。

关于java - 将带有生成的 webapp 文件夹的 Maven 项目部署到 Apache Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55696437/

相关文章:

jsp - 如何解决 org.apache.jasper.JasperException : java. lang.IllegalStateException:没有可用的 Java 编译器

java - 是否会在编译时优化局部变量的一次性使用?

java - 如果一条路线配置错误,CamelContext 将不会启动

java - 在 Eclipse/WindowBuilder 中确定设计时间

java - 使用 Maven 构建 jar 时如何添加命令行参数

java - 使用java显示jsp文件中的实体列表

java - 当一个人只能调用一个方法时,为什么要使用 `java.util.function.supplier` ?

maven - 禁用在 maven 中查找错误

maven - 如何使用带有 Maven 的 typescript 配置 Angular2 应用程序?

jsp - 在jsp中显示日期差异