2016-09-23 3 views
0

У меня есть два проекта. Проект A & B. Проект B зависит от проекта A. Чтобы запустить проект B, мне нужно добавить зависимость проекта A в файле pm.xml проекта B.Как получить доступ к файлам из модуля с помощью maven без поиска в локальном репозитории .m2 и центральном хранилище maven?

Если я что-то изменить из проекта А. Я должен сделать МВН установить снова, чтобы обновить локальный репозиторий с последним кодом проекта А. Тогда я могу запустить проект B.

Могу ли я получить доступ Проект А изменился код в проекте B без установки mvn?

ответ

0

Нет. Вы не можете получить доступ к обновленному коду. Это связано с тем, что при создании приложения maven он получит все зависимости из вашего репозитория .m2. Если он не найдет там никакой зависимости, он будет искать ваш удаленный репозиторий.
В вашем случае, когда вы обновляете код A и не строите его, обновленный артефакт не будет доступен в вашем репозитории .m2. Теперь, если вы создадите Project B, он попытается получить проект A artiufact из репозитория .m2. Поскольку вы не создали A после изменения кода, B получит артефакт, который в настоящее время находится в папке .m2, то есть артефакте со старым кодом.
Другим подходом, который вы можете использовать, является наличие родительского помпа. Это всего лишь агрегатор pom, который выполнит pom.xml для обоих ваших модулей. Для например:

<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> 

    <groupId>org.sonatype.mavenbook.multispring</groupId> 
    <artifactId>simple-parent</artifactId> 
    <version>1.0</version> 
    <packaging>pom</packaging> 

    <modules> 
     <module>module-A</module> 
     <module>module-B</module> 
    </modules> 
</project> 

Пожалуйста, обратите внимание, что упаковка для этого должна быть ПОМ.

Смежные вопросы