Ошибка компиляции Maven: пакет не существуетJAVA

Программисты JAVA общаются здесь
Anonymous
Ошибка компиляции Maven: пакет не существует

Сообщение Anonymous »

Я пытаюсь добавить поддержку Maven к существующему корпоративному проекту. Это многомодульный проект, и первые 2 модуля компиляция и упаковка без проблем, но я сталкиваюсь с ошибкой компиляции, я пытаюсь использовать ту же зависимость в более чем одном модуле.
Моя структура: < /p>

Код: Выделить всё

> + 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)
< /code>

Я с проектом, открытым на Eclipse и не показывает ошибок. Когда я запускаю MVN Clean Install 
от родителя, он, успешно устанавливает как модуль 1, так и 2, но не удается на модуле 3, говоря, что пакет xxx.yy не существует и не может найти символ XXXYY . Пакет xxx.yyy и символ xxxyyy находятся в банке, которая указана на зависимости обоих модулей 2 и 3. Поэтому я попытался добавить зависимость как к модулям 2, так и для 3, и проблема сохранялась. Я запустил следующую команду, и после этого я вижу необходимый файл .jar в списке зависимостей: MVN-зависимость: зависимости от копирования
Как я уже говорил выше, я пытался поставить в свой класс через транзитивную зависимость и ссылаться непосредственно на мой POM, и оба растворы не работали. Работа < /li>
< /ul>

Единственная особенность моего проекта заключается в том, что модуль 3 зависит от модуля 2 и зависит от LIB, которая также зависит от модуля 2. /> module-2 < /strong> < /p>

Код: Выделить всё

4.0.0

com.company
parent
0.0.1-SNAPSHOT


Module2



com.company
Module1
0.0.1-SNAPSHOT



com.company
SharedArtifact
1.1


...
< /code>

 module-3 < /strong> < /p>


4.0.0

com.company
parent
0.0.1-SNAPSHOT


Module3



com.company
Module2
0.0.1-SNAPSHOT




...
< /code>

и пакет, который невозможно увидеть, находится внутри 'sharedartifact'. Когда я удаляю зависимость от Module2, он не дает пакета, не существует ошибки 
из пакета «sharedartifact». Но тогда он дает пакет не существует из банки Module2. < /p>

Похоже, что каким -то образом зависимости теряются, поскольку модуль3 зависит от них обоих. И я не могу перейти на Java 7, потому что проекту нуждается в Java 6. и не могу обновить Maven, причина модернизированного Maven работает только с Java 7 и выше. < /P>

Обновление 1: < /em> < /strong> < /p>

. Ошибка, приведенная, когда я составляю: < /p>

.

Код: Выделить всё

[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
< /code>

Я не могу вставить весь журнал -x из -за политики компании, но если какая -то часть необходима, я могу изменить некоторые имена. Но если я запускаю MVN Clean 
, то (в Eclipse) я запускаю Maven Update Project , а затем `mvn установить, он компилирует! Поскольку я работаю с приложением для портала Weblogic, мне нужно сохранить некоторые общие библиотеки (те, которые необходимы как в проекте, так и в выполнении) в Eclipse. Возможно, какую -то библиотеку забывают на моем POM. Странная вещь в том, что пакет, который, как утверждает в компиляции, который не существует, существует.


Подробнее здесь: https://stackoverflow.com/questions/432 ... -not-exist

Вернуться в «JAVA»