Вопрос

Кажется, это простая вещь, но я не могу понять, почему некоторые из созданных модулей, которые я создал, заканчиваются в разных кластерах (IE IDE), а другие - на кластере моим токеном брендинга.

Единственный модуль, который показывает под токеном брендинга, имеет эту конфигурацию:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <moduleType>autoload</moduleType>
                <codeNameBase>com.validation.manager.h2/1</codeNameBase>
                <publicPackages>
                    <publicPackage>org.h2.*</publicPackage>
                </publicPackages>
            </configuration>
        </plugin>

Где другие выглядят так:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>nbm-maven-plugin</artifactId>
            <extensions>true</extensions>
            <configuration>
                <moduleType>eager</moduleType>
                <codeNameBase>com.validation.manager.ui/1</codeNameBase>
            </configuration>
        </plugin>

Как вы можете видеть, помимо типа модуля и наличия публичных пакетов или нет, там едва ли разницы.

Приложение работает нормально, это просто то, что меня озадачило.

Любые идеи?

Это было полезно?

Решение

Проверьте файл NBM вашего модуля, какой кластер определяется в Info/info.xml.

  • Если он имеет неправильное или отсутствующее значение, вы должны посмотреть в конфигурации POM модуля, почему это так. Либо это плохо определено в pom.xml, либо в устаревшем SRC/Main/NBM/Module.xml
  • Модуль может оказаться в кластере «IDE», потому что вы определили параметр defaultCluster в своем приложении

Это поведение для модулей в нынешнем NBM-Maven-Plugin. Для пучков Osgi поведение более плавное, так как банки пакета не содержат кластерной информации в двоичном файле.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top