首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将ServletContainerInitializers从不同的包打包到单个OSGi包

将ServletContainerInitializers从不同的包打包到单个OSGi包
EN

Stack Overflow用户
提问于 2015-04-27 06:52:54
回答 1查看 43关注 0票数 0

我正在创建一个OSGi包,它由以下依赖项组成

代码语言:javascript
复制
<artifactId>tomcat-dbcp</artifactId>
<artifactId>tomcat-embed-core</artifactId>
<artifactId>tomcat-embed-jasper</artifactId>
<artifactId>tomcat-embed-websocket</artifactId>
<artifactId>tomcat-jasper</artifactId>
<artifactId>ecj</artifactId>

我想把SCI打包到websocket和jasper中。

我的IncludeResource部分如下

代码语言:javascript
复制
<Include-Resource>
         {maven-resources},
         @tomcat-jasper-${version.tomcat}.jar!/META-INF/*,
         @tomcat-embed-websocket-${version.tomcat}.jar!/META-INF/*,
         src/main/resources
</Include-Resource>

这里的问题是,我只得到websocket SCi。我认为jasper资源被websocket资源覆盖。取决于我指定的顺序。

如何将两个资源放在同一个包中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 09:09:33

我找到了答案。您可以使用maven-阴影插件来实现这个功能。

在我的场景中,我可以按以下方式打包两个SCI

代码语言:javascript
复制
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.3</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <transformers>
            <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
          </transformers>
        </configuration>
      </execution>
    </executions>
</plugin>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29889047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档