Модуль на основе Netbeans Maven не предоставляет свои зависимости

Я хочу выполнить то, что я думаю, эти направления описывают.

Я хочу использовать внешний проект на основе maven из приложения на платформе rcp.

Я использовал новый мастер проектов для создания нового приложения на основе maven, которое включает модуль на основе maven. Я добавил свои внешние зависимости в модуль на основе maven.

Я также добавил раздел publicPackages в pom моего модуля.

Когда я щелкаю правой кнопкой мыши на модуле и захожу в ProjectProperties->PublicPackages, я вижу правильные пакеты, отмеченные галочками.

Мой модуль Maven строит просто отлично.

Однако, когда я пытаюсь добавить maven-модуль как зависимость от другого модуля, пакеты, перечисленные в PublicPackages, не обнаруживаются.

Если я загляну внутрь nbm, то увижу, что файлы, которые я хотел открыть, находятся под netbeans\modules\ext

Есть ли какой-нибудь способ построить maven-модуль, который оборачивает другой проект maven?

Документы nbm-maven-plugin включают пример, который звучит очень похоже на то, что я хочу сделать:

Объявление публичных пакетов

По умолчанию все пакеты вашего модуля (и классы) являются частными для данного модуля. Если вы хотите предоставить какой-либо API-интерфейс другим модулям, вам необходимо объявить эти публичные пакеты в вашем pom.xml. Это включает в себя не только ваши собственные классы, но также и любые другие классы сторонних библиотек, которые поставляются вместе с вашим модулем и должны быть доступны для повторного использования другими модулями.

Например:

       <plugin>
           <groupId>org.codehaus.mojo</groupId>
           <artifactId>nbm-maven-plugin</artifactId>
           <version>3.8.1</version>
           <extensions>true</extensions>
           <configuration>
              <publicPackages>
                  <publicPackage>org.foo.api</publicPackage>
                  <publicPackage>org.apache.commons.*</publicPackage>
              </publicPackages>
           </configuration>
       </plugin>

есть открытый пакет org.foo.api (но не пакет org.foo.api.impl) и любой пакет, начинающийся с org.apache.commons, так что org.apache.commons.io и org.apache.commons. пакеты exec выставлены наружу

Я явно не правильно интерпретирую эти документы, потому что это поведение не то, что я вижу.

0 ответов

Другие вопросы по тегам