Локальный проект Maven Dependency упоминается как папка класса вместо jar - PullRequest
5 голосов
/ 15 декабря 2011

Я использую Eclipse Indigo с плагином m2e (Версия 1.0.1). У меня есть два отдельных проекта рабочей области: проект Maven, который в основном является виджетом Vaadin, и второй проект Maven, который является моим основным проектом, который ссылается на этот виджет с помощью:

<dependency>
   <groupId>com.mycompany.widget</groupId>
   <artifactId>Calendar</artifactId>
   <version>1.2</version>
   <type>jar</type>
</dependency>

Если я запускаю mvn clean install в проекте виджета, он правильно упакован в виде jar-файла и также доступен в моем локальном репозитории Maven. Я также могу использовать классы виджета в моем основном проекте. Однако в зависимостях Maven моего основного проекта проект виджета отображается как папка класса, а не как jar (хотя все другие зависимости от внешних виджетов отображаются в виде jar-файлов).

Это вызывает некоторые проблемы, когда я пытаюсь распаковать (или даже скопировать) зависимость в мой основной проект с помощью зависимости: разархивировать-зависимости (соответственно зависимость: копировать-зависимости). Сбой сборки maven:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:unpack-dependencies (default-cli) on project [main project]: Error unpacking file: /.../Calendar/target/classes to: /.../[main-project]/target/classes 
[ERROR] org.codehaus.plexus.archiver.ArchiverException: The source must not be a directory.

Мой вопрос таков: как я могу ссылаться на мой проект виджета как на банку вместо папки классов в моем основном проекте?

1 Ответ

6 голосов
/ 15 декабря 2011

Они в отдельных каталогах, верно?Попробуйте сделать следующее: щелкните правой кнопкой мыши свой проект, выберите Maven -> Disable Workspace Resolution.

Также проверьте свойства проекта и убедитесь, что на проект не ссылаются в Java Build Path -> Projects.

...