Моя структура:
Код: Выделить всё
> + parent
> - pom.xml
> - module-1
> - pom.xml
> - module-2 (Depends on module-1)
> - pom.xml
> - module-3
> - pom.xml (Depends on both modules 1 and 2)
Поскольку оба модуля зависят от одного и того же jar, я пытался добавить зависимость только к модулю 2, и я считаю, что модуль 3 должен видеть ее из-за транзитивных зависимостей, но он не смог увидеть пакет. Поэтому я попытался добавить зависимость как к модулям 2, так и к модулям 3, но проблема не исчезла.
Я уже проверял/пробовал это:
- Запрошенный jar указан в моих зависимостях. Я выполнил следующую команду и после этого вижу необходимый файл .jar в списке зависимостей: mvn dependency:copy-dependentness
- Как я уже говорил выше, Я попытался ввести свой путь к классам через транзитивную зависимость и ссылаться на него непосредственно в моем pom, и оба решения не сработали.
- Я пытался удалить весь свой репозиторий и загрузить все заново, но тоже не получилось не работает
Ниже я вставляю помпы из модуля 2 и 3. Я изменил некоторые имена в соответствии с политикой компании.
Модуль-2
Код: Выделить всё
4.0.0
com.company
parent
0.0.1-SNAPSHOT
Module2
com.company
Module1
0.0.1-SNAPSHOT
com.company
SharedArtifact
1.1
...
Код: Выделить всё
4.0.0
com.company
parent
0.0.1-SNAPSHOT
Module3
com.company
Module2
0.0.1-SNAPSHOT
...
Похоже, что зависимости каким-то образом теряются, поскольку Module3 зависит от них обоих.
Я' m, используя Java 1.6.0_29 и Maven 3.0.5. И я не могу обновиться до Java 7, потому что проекту нужна Java 6. И не могу обновить Maven, потому что обновленный Maven работает только с Java 7 и выше.
Обновление 1:
При компиляции возникает следующая ошибка:
Код: Выделить всё
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] \Users\usuario\Documents\workspaces\myworkspace\qa\Module3\src\com\company\sharedartifact\package\SomeClass.java:[8,55]
package com.company.sharedartifact.package does not exist
[ERROR] \Users\usuario\Documents\workspaces\myworkspace\qa\Module3\src\com\company\sharedartifact\package\SomeClass.java:[9,55]
package com.company.sharedartifact.package does not exist
[ERROR] \Users\usuario\Documents\workspaces\myworkspace\qa\Module3\src\com\company\sharedartifact\package\SomeClass.java:[17,85]
cannot find symbol
symbol : class SomeOtherClass
Обновление 2:
Сегодня я только что понял, что если запустить mvn чистая установка, она не скомпилируется. Но если я запускаю mvn clean, то (в Eclipse) я запускаю проект обновления Maven, а затем `mvn install, он компилируется!
Поскольку Я нашел это, я уже упоминал этот вопрос и считаю, что что-то не так с моим путем к классам. Поскольку я работаю с приложением Weblogic Portal, мне нужно сохранить некоторые общие библиотеки (те, которые необходимы как для проекта, так и для среды выполнения) в Eclipse. Возможно, на моем помпе забыли какую-то библиотеку. Странно то, что пакет, который, как утверждает компиляция, не существует, ДЕЙСТВИТЕЛЬНО существует.
Подробнее здесь: https://stackoverflow.com/questions/432 ... -not-exist
Мобильная версия