Maven:如何管理从一个子模块到另一个子模块的依赖关系

普拉文

我有一个Maven父子项目,其中父项有多个子模块。子模块之一正在生成一个jar,而另一个依赖于该jar。

项目结构如下:一个父模块,其中有三个子模块。每个都有自己的pom.xml。Child1生成jar文件,其他则生成war文件。其中只有Child3依赖于Child1 jar。

是否有使用pom.xml管理此类依赖关系的最佳方法。

项目结构

更新:当我在Child3中添加依赖项时,我能够构建Child3模块,但是当我尝试在tomcat上部署它时,它将引发错误:

Caused by: java.lang.NoClassDefFoundError: org/ifxforum/xsd/_1/CIMBAcctInfoInqSvc
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:247)
... 57 more Caused by: java.lang.ClassNotFoundException: org.ifxforum.xsd._1.CIMBAcctInfoInqSvc
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1104)
... 64 more

我对Child3的pom.xml的依赖为:

<dependency>
        <groupId>myGroupId</groupId>
        <artifactId>myArtifactId</artifactId>
        <version>1</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/src/main/resources/lib/myJar.jar</systemPath>
    </dependency>

我可以看到org / ifxforum / xsd / _1 / CIMBAcctInfoInqSvc在jar中。

J Fabian Meier

您只需要在Child1的坐标上声明Child3的maven依赖项即可。对于版本,可以使用${project.version}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Maven项目中将spring-context从一个子模块导入到另一个子模块?

如何从另一个子模块访问一个子模块的布局?

当两个子模块都在同一主模块中时,从另一个子模块访问该子模块

如何更新一个子模块git?

Angular:将子模块导入另一个子模块将覆盖后者的路由

交叉引用链接到另一个子模块中的函数/类

如何从不同的子模块导入一个子模块?

在另一个模块中声明一个子模块/功能,该模块可由其他模块访问,但用户不可访问

需要一个子目录而不是一个子模块

如何添加另一个 RSU 子模块?

如何确定哪个模块是git中另一个模块的子模块?

Maven构建会跳过与另一个模块相关的子模块

从另一个导入子模块

GitHub显示一个子模块而不是一个子文件夹

如何从一个角度模块传递值到另一个模块?

CMake将文件内容列表从多个子模块收集到一个变量中

为什么“ git submodule update”会跳过一个子模块?

Git认为某些复制的代码是一个子模块

添加文件夹将创建一个子模块

将多个子模块折叠为一个Cython扩展

另一个子模块的Omnet访问方法错误-没有匹配的函数调用'check_and_cast(cModule *&)'

运行另一个不同模块时,模块子模块的ImportError

如何将子模块更改推送到另一个存储库

SonarQube:如何分析曾经是另一个项目子模块的项目?

如何用另一个仓库替换git子模块?

如何将模块用作独立 CLI 以及另一个模块 (API) 的子模块?

如何以角度将组件从一个模块导出和导入到其子模块

带有Maven的多模块IntelliJ项目-如何将一个模块的依赖关系添加到另一个模块?

如何使一个Maven模块依赖于另一个?