相关疑难解决方法(0)

如何合并Maven程序集中的资源文件?

我正在使用Maven及其程序集插件来构建我的项目的分发包,如下所示:

  • 一个项目在ZIP文件中组装一个基本的运行时(基于Felix),以及相应的目录和包.
  • 第三方库分别收集在一个项目中,并转换为OSGi包,如果它们已经兼容OSGi,则只需复制它们
  • 我自己的项目也包含几个内置于OSGi包中的模块.

现在,我正在添加另一个解压缩ZIP的项目,将所有其他JAR放入正确的目录中,然后重新打包以进行分发.现在,我的bundle可能包含我要合并到的配置文件,而不是替换运行时程序集中名称相同的配置文件.我怎么做?

这些文件是纯文本(属性文件),但稍后我可能会遇到与XML文件类似的情况.

build-automation maven-2 assemblies

13
推荐指数
3
解决办法
2万
查看次数

Spring 3 NamespaceHandler与Maven Shade插件有关

Spring 3.1.1.RELEASE与Apache Maven 3.0.3和Maven Shade插件1.6.

使用mvn shade插件将工件打包在uber-jar中,包括它的依赖项:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
        <phase>package</phase>
        <goals>
            <goal>shade</goal>
        </goals>
        <configuration>
            <transformers>
                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                    <mainClass>com.MyApplication</mainClass>
                </transformer>
            </transformers>
        </configuration>
    </execution>
</executions>
Run Code Online (Sandbox Code Playgroud)

似乎打包很好,但在执行抱怨Spring NamespaceHandler问题:

Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/util]
Offending resource: class path resource [spring/test-context.xml]
Run Code Online (Sandbox Code Playgroud)

这适用于util和p命名空间,但期望它不限于这些:

xmlns:util="http://www.springframework.org/schema/util"
xmlns:p="http://www.springframework.org/schema/p"
Run Code Online (Sandbox Code Playgroud)

如果我手写重写属性或列表(util),问题就会消失.

spring maven-3 maven spring-3 maven-shade-plugin

8
推荐指数
1
解决办法
5447
查看次数