gpt4 book ai didi

Maven 多模块 Web 应用程序(热插拔)

转载 作者:行者123 更新时间:2023-12-04 08:44:43 24 4
gpt4 key购买 nike

我有一个多模块 Web 应用程序。

结构是:

Parent
|
| - - Child 1
| - - Child 2
| - - Web

而web项目依赖于两个子模块

在使用 IDE 构建项目时,我习惯于 IDE 在 WEB-INF/classes 文件夹中构建类。这很好,因为 Web 服务器注意到了新类并重新启动或热部署了这些文件。使用 maven 似乎我每次都必须从头开始打包整个东西。

我想在 maven 中找到一种方法,这样我就可以避免运行 mvn:clean mvn:install mvn:war:inplace。相反,我想要一个 mvn:comile,然后是那里的东西。

我希望你明白我的意思。当您总是必须在更新之前构建所有项目 jar 并运行 som war 命令时,测试 Web 应用程序非常慢。

网络应用程序 pom:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<parent>
...
</parent>

<artifactId>web</artifactId>
<packaging>war</packaging>

<dependencies>
<dependency>
<groupId>bla.bla.bla</groupId>
<artifactId>bla_child1</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>bla.bla.bla</groupId>
<artifactId>bla_child2</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
</plugin>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.0.4.v20130625</version>
<configuration>
<scanIntervalSeconds>30</scanIntervalSeconds>
<webApp>
<contextPath>/blabla</contextPath>
</webApp>
</configuration>
</plugin>
</plugins>
</build>
</project>

最佳答案

解决您的问题的一个可能方法是构建 skinny war使用 maven-war-plugin(或者如果您还有其他依赖项,至少排除 child1 和 child2)并将子项目的目标/类文件夹添加到您的类路径中。这可以通过 Build Helper Maven Plugin's add-resource goal 来完成。 .

免责声明:我自己没有尝试过,但理论上它可以工作:)

关于Maven 多模块 Web 应用程序(热插拔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18303028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com