Maven - 合并导入包的自动和手动列表

时间:2014-11-12 18:35:17

标签: java maven java-ee netbeans osgi

我在netbeans 7.4中工作并使用maven来构建我的项目。之前我没有写任何要在pom文件中导入的软件包,因为它是自动完成的。

现在我需要手动添加一些包。为此,我使用maven-bundle-plugin

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>2.3.7</version>
    <extensions>true</extensions>
    <configuration>
       <instructions>
          <Import-Package>org.apache.tiles.jsp.taglib</Import-Package>
       </instructions>
    </configuration>
    <executions>
        <execution>
           <id>bundle-manifest</id>
           <phase>process-classes</phase>
           <goals>
               <goal>manifest</goal>
           </goals>
         </execution>
         <execution>
           <id>bundle-install</id>
           <phase>install</phase>
           <goals>
               <goal>install</goal>
           </goals>
         </execution>
     </executions>
</plugin>

问题是,在这种情况下,现在不会导入自动导入的所有包。如何合并导入包的手动和自动列表?

2 个答案:

答案 0 :(得分:2)

这个怎么样?

<Import-Package>
    org.apache.tiles.jsp.taglib,
    *
</Import-Package>

答案 1 :(得分:2)

bnd / maven-bundle-plugin中Import-Package的默认值为&#39; *&#39;,这意味着&#34;导入捆绑包需要的所有包&#34;。

您已重写此默认设置以导入包org.apache.tiles.jsp.taglib 且仅该包。

每当您手动添加包时,您必须始终指定一个尾随&#39; *&#39;包括代码可能依赖的所有其他包。所以:

<Import-Package> org.apache.tiles.jsp.taglib, * </Import-Package>

这意味着大致如下:&#34;导入org.apache.tiles.jps.taglib以及捆绑包需要的任何其他包&#34;。