当前位置: 首页 > 知识库问答 >
问题:

热添加一个战争依赖在maven没有它覆盖

单于奕
2023-03-14

我们正在开发一个Java web应用程序,将其部署为Tomcat9中的war文件。

由于系统架构的原因,我们希望有一些其他需要部署的战争文件单独的战争文件。它们是商业的,不受我的控制。

我想在pom中添加这个单独的战争作为运行时,所以我们用来部署应用程序的pom知道它们是需要的,并且在webapps目录中部署任何战争依赖项。

我遇到的问题是,当我包含这个战争运行时依赖项时,包阶段将它们作为覆盖添加到我们的战争应用程序文件中。

我想要的是避免将这些war文件作为覆盖添加到我们的war文件中。

我没有找到关于如何避免这种专家行为的参考。

由于保密协议的限制,我无法共享真正的pom文件。这是我现在构建的一个不完整的示例。

<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>myOrg</groupId>
        <artifactId>myApp</artifactId>
        <version>1.0</version>
    </parent>

    <artifactId>myApp-war</artifactId>
    <packaging>war</packaging>
    <name>internal-app-war</name>
    <version>2.8</version>

    <dependencies>
        <dependency>
            <groupId>com.exampleorg</groupId>
            <artifactId>ExampleA</artifactId>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.exampleorg</groupId>
            <artifactId>ExampleB</artifactId>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            All jar dependencies with compile scope
        </dependency>
    </dependencies>
</project>

有人能提出一种实现这一目标的方法吗?

提前感谢。

共有1个答案

华哲茂
2023-03-14

你误用了

如果你想确保其他战争部署在同一台服务器上,那么你需要在Maven之外进行管理,例如使用Puppet/Chef/。。。或者通过docker容器

Maven依赖项仅适用于构建本身。

 类似资料:
  • 我有一个SpringBootWeb项目,它依赖于maven overlay war文件,这也是SpringWeb项目。pom中包含战争。xml。 我如何部署战争与Spring Boot应用程序,以便我可以使用属于战争文件的Restendpoint。我试图从STS启动应用程序,只需将其作为Java应用程序运行。当应用程序启动时,我只能看到属于Spring Boot项目的URL,但属于war文件的UR

  • 问题内容: 如何获取我拥有的jar文件并将其添加到Maven 2的依赖系统中?我将成为此依赖项的维护者,并且我的代码需要在类路径中使用此jar,以便对其进行编译。 问题答案: 您必须分两步执行此操作: 1.给您的JAR一个groupId,artifactId和版本,然后将其添加到您的存储库中。 如果您没有内部存储库,而只是试图将JAR添加到本地存储库,则可以使用任意groupId / artifa

  • 我们用Maven和Tycho构建了一个Eclipse插件。然而,目前我们仍然通过一堆手动添加的JAR文件而不是Maven来提供所有的项目依赖。这是由于以下原因:(1)依赖项不能通过标准的Eclipse更新站点获得(至少不能在当前版本中获得),(2)依赖项不能作为捆绑包获得。 这些依赖项中最大的部分是Selenium库(API,远程,特定于浏览器的库及其传递依赖项,例如Guava等)。 我浪费了几个

  • 如何将此WorldEdit依赖项添加到Maven项目中?http://maven.sk89q.com/artifactory/repo/com/sk89q/worldedit/worldedit-bukkit/我需要6.1.1快照。 是否有算法来获取组ID工件ID和版本?

  • 错误:无法初始化主类com.companyname.bank.App,原因是:java.lang.NoClassDefFoundError:org/apache/http/client/ResponseHandler 我在pom.xml文件中添加了依赖项,在/src/lib中也添加了相关的.jar文件之后,这个报告一直出现。真的很困惑,不知道怎么解决。 请帮我一把。谢谢。 以下是我的操作流程: >