Maven: Как управлять зависимостями от одного дочернего модуля к другому дочернему модулю - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть проект maven parent-child, где parent имеет несколько дочерних модулей.Один из дочерних модулей генерирует jar, а другой зависит от этого jar.

Структура проекта выглядит следующим образом: Один родительский модуль имеет три дочерних модуля.Каждый из них имеет свой собственный pom.xml.Child1 генерирует файл jar, а другие генерируют файл war.Где только Child3 зависит от jar Child1.

Есть ли лучший способ управлять таким типом зависимости, используя pom.xml.

Project Structure

Обновлено: когда я добавляю зависимость в 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

И моя зависимость в pom Child3.xml as:

<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 в банке.

1 Ответ

0 голосов
/ 06 февраля 2019

Вы просто объявляете зависимость maven в Child3 от координат Child1.Для версии вы можете использовать ${project.version}.

...