Maven - как добавить модуль в pom родительского проекта в качестве зависимости

У меня есть ситуация, упомянутая в этом вопросе.

У меня есть многомодульный проект Maven с родительским проектом P и двумя подмодулями A и B. Когда у меня был только A в качестве подмодуля, он работал нормально. Я добавил новую исходную папку в основной проект, создал пакет и добавил класс (я здесь что-то не так делаю?), Позвольте назвать его модулем B. Теперь я импортирую класс из пакета B в класс из пакета A, но Pom A не обновляется, чтобы включить B в качестве зависимости, и поэтому, когда я пытаюсь mvn скомпилировать родительский проект, он дает символ ошибки undefined B.

  1. Я неправильно добавляю проект B? Потому что в нем нет помпона?
  2. Как мне добавить B в качестве зависимости в файл pom основного проекта, как указано в указанном вопросе?

Изменить: добавление помп и кода

вот помп проекта А

<dependencies>
    <dependency>
      <groupId>javax.slee</groupId>
      <artifactId>jain-slee</artifactId>
    </dependency>
    <dependency>
      <groupId>org.mobicents.servers.jainslee.core</groupId>
      <artifactId>fault-tolerant-ra-api</artifactId>
      <version>2.6.0.FINAL</version>
    </dependency>
    <dependency>
      <groupId>org.mobicents</groupId>
      <artifactId>hello-slee-world-sbb</artifactId>
      <version>1.0</version>
    </dependency>
</dependencies>

теперь, где упоминается зависимость от B. Вот ссылка на B в проекте A.

import BPackage.*;

вот как я использовал B в A.

в BPackage есть только один класс с именем BClass. Теперь я спрашиваю, добавляю ли я пакет неправильно, т.е. мне нужно, чтобы maven что-то добавлял? так что его pom создается, а его зависимость добавляется в A.

Кроме того, я хочу построить как B, так и A, когда я компилирую родительский объект, поэтому в этом случае, я думаю, мне также нужно добавить A в родительский pom. Вот поминка родителя

  <modules>
    <module>sbb</module>
    <module>customRAType-ratype</module>
    <module>customAdaptor-ra</module>
    <module>du</module>
  </modules>

customAdaptor-ra - это проект A


person shabby    schedule 19.02.2013    source источник


Ответы (1)


Каждый из ваших проектов должен иметь файл pom.xml. Проект верхнего уровня должен иметь

<modules>
   <module>project1</module>
   <module>project2</module>
</modules>

Если project2 зависит от project1, вам необходимо определить <dependency/> в файле pom.xml проекта2.

person carlspring    schedule 19.02.2013
comment
Просто пояснение: зависимость от project1 должна быть в pom project2, а не в родительском pom. - person Andres Olarte; 19.02.2013
comment
зависимость project2 (B) от project1 (A) не упоминается в pom project2. Я использую m2e 1.2.0. Я спрашивал, как мне это добавить, я также добавляю помпу проекта и помпу основного проекта - person shabby; 20.02.2013