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

Maven MultiModule本地安装不更新

翟淮晨
2023-03-14
Project A
   --Module B    
      --pom.xml
   --Module C    
      --pom.xml    
pom.xml

我正在处理一个多模块项目,其中项目a、模块B和模块C都有自己的pom文件。模块A和模块B引用ProjectA pom文件。

我在moduleb的pom文件中使用ModuleA作为依赖项。

我在moduleA中添加了几个包,并执行了mvn clean安装

然后我在moduleB上安装了mvn clean,但是moduleB仍然不能识别模块A中的最新变化。

我试过以下方法,但对我有效

  1. 删除.m2文件夹并执行maven clean安装
  2. 在根文件夹上构建mvn clean安装
  3. 使用Intellij、无效缓存和重新启动、启用更新快照等

共有1个答案

孙志
2023-03-14

模块A和模块B引用ProjectA pom文件

Projecta应该有打包“POM”,并且是其他模块的“聚合器”。它的pom.xml应该如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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>

    <groupId>com.foo.bar</groupId>
    <artifactId>myartifactname</artifactId>
    <version>0.1-SNAPSHOT</version>
    <packaging>pom</packaging>
    <modules>
      <module>ModuleB</module>
      <module>ModuleC</module>
    </modules>
</project>

Projecta不应该包含任何源文件,因此在模块B和模块C中声明依赖于它是没有意义的。

 类似资料:
  • 本教程将带你了解如何在本地计算机上安装和运行Hyperledger Composer Playground。它还创建了Hyperledger Fabric v1.0的一个实例。 Hyperledger Composer Playground还可以在“仅浏览器”模式下使用,不需要运行Hyperledger Fabric实例。在此模式下使用时,Hyperledger Composer Playgrou

  • 问题内容: 我需要在本地主机(CentOS)中安装Jenkins,并尝试在以下链接中发布过程: https://wiki.jenkins- ci.org/display/JENKINS/Installing+Jenkins+on+RedHat+distributions 但这给出了一个错误, 正在解析pkg.jenkins-ci.org … 63.246.20.93连接到pkg.jenkins-c

  • npm警告checkPermissions缺少对/usr/local/lib/node_modules的写访问权限npm错误!path/usr/local/lib/node_modules npm错误!代码EACCES npm错误!错误-13 npm错误!系统调用访问npm错误!错误:EACCES:权限被拒绝,访问'/usr/local/lib/node_modules'npm错误!{错误:eac

  • mac图形化的docker界面,运行mysql镜像 端口号用默认的,运行起来后,提示已经在等待连接,端口号是3306 但是本地连接连不上 是因为我电脑上安装着mysql,并且把3306端口号占了吗?如果本地卸载掉,mysql的命令是不是不能在本地执行了,又怎么验证连接docker的mysql呢?

  • 我刚刚升级到优胜美地。我使用的是Apache 2.2,但升级包括2.4。在经历了一些配置噩梦之后,我最终使用Homebrew重新安装了2.4。我有它大部分配置。但是,当我使用PHP的旧httpd.conf设置时,我得到以下错误: 未找到符号:_unixd_config\n引用自:/usr/local/opt/php55/libexec/apache2/libphp5。因此\n应在:/usr/loc

  • 问题内容: 我可以以某种方式跳过对项目的本地Gulp安装吗? 我在全球范围内安装了Gulp,并将其作为依赖项添加到package.json中。但Gulp仍然希望随消息一起在本地安装。如果执行本地安装,则Gulp将按节点复制到我的项目中。 有没有办法跳过Gulp的本地安装?我希望能够从命令行在整个服务器上运行它并全局管理它的安装。 问题答案: 一种干净的方法是在本地没有安装 gulp ,就像在本地一