maven-bundle-plugin не включает в себя Import-Package - PullRequest
0 голосов
/ 21 мая 2019

У меня есть родительский pom, где мой дочерний pom расположен как модуль.

В моем детском пакете есть что-то подобное

<plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>3.0.1</version>
                    <configuration>
                        <instructions>
                            <Bundle-SymbolicName>...</Bundle-SymbolicName>
                            <Bundle-Description>...</Bundle-Description>
                            <Bundle-Activator>...</Bundle-Activator>
                            <Import-Package>
                                oracle.sql,
                                oracle.jdbc,
                                javax.jws,
                                javax.jws.soap,
                                javax.xml.bind,
                                javax.xml.bind.annotation,
                                javax.xml.namespace,
                                javax.xml.ws,
                                *
                            </Import-Package>
                            <Export-Package>
                            </Export-Package>
                        </instructions>
                    </configuration>
</plugin>

Но в Манифесте я получаю нечто подобное

javax.jws,
javax.jws.soap,
javax.xml.bind,
javax.xml.bind.annotation,
javax.xml.bind.annotation.adapters,
javax.xml.datatype,
javax.xml.namespace

но у меня нет моих oracle.sql и oracle.jdbc.

Это происходит, когда я делаю mvn clean install из родительской папки. Если я сделаю mvn clean install в каталоге, где находится мой дочерний пом, все будет в порядке. Но вопрос возник после того, как я увидел, что сборка Дженкина не включает пакеты Oracle .

Интересно, что в этом случае у меня есть другие модули, которые включают в себя также пакеты * oracle **, и после сборки их манифеста он есть.

Ответы [ 2 ]

0 голосов
/ 09 июля 2019

Я нашел свою ошибку.У меня есть этот плагин внутри, но Дженкинс создает пакеты без какого-либо профиля, поэтому он сгенерирован без моего пакета импорта.

Это выглядит как

<profiles>
    <profile>
        <id>My-Own-Profile</id>
            <build>
             <plugins>
                <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>...</Bundle-SymbolicName>
                        <Bundle-Description>...</Bundle-Description>
                        <Bundle-Activator>...</Bundle-Activator>
                        <Import-Package>
                            oracle.sql,
                            oracle.jdbc,
                            javax.jws,
                            javax.jws.soap,
                            javax.xml.bind,
                            javax.xml.bind.annotation,
                            javax.xml.namespace,
                            javax.xml.ws,
                            *
                        </Import-Package>
                        <Export-Package>
                        </Export-Package>
                    </instructions>
                </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Но я должен сделать его как

<profiles>
    <profile>
        <id>My-Own-Profile</id>
            <build>
             <plugins>
                <plugin>
                  **SOME PLUGIN FOR THAT PROFILE**
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>
           <build>
             <plugins>
                <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
                <version>3.0.1</version>
                <configuration>
                    <instructions>
                        <Bundle-SymbolicName>...</Bundle-SymbolicName>
                        <Bundle-Description>...</Bundle-Description>
                        <Bundle-Activator>...</Bundle-Activator>
                        <Import-Package>
                            oracle.sql,
                            oracle.jdbc,
                            javax.jws,
                            javax.jws.soap,
                            javax.xml.bind,
                            javax.xml.bind.annotation,
                            javax.xml.namespace,
                            javax.xml.ws,
                            *
                        </Import-Package>
                        <Export-Package>
                        </Export-Package>
                    </instructions>
                </configuration>
                </plugin>
            </plugins>
        </build>
0 голосов
/ 21 мая 2019

Пожалуйста, добавьте следующую зависимость в pom.xml в разделе зависимостей.

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.4.0</version>
</dependency>

После этого вы можете проверить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...