`

使用maven-shade 打包apache cxf 为可运行包 出现异常Caused by: org.apache.cxf.BusException:

阅读更多

 

使用maven-shade-plugin 打包 采用apache cxf的 jax-rs  可运行jar,runtime时 出现异常“

Caused by: org.apache.cxf.BusException: No binding factory for namespace http://xxxxx”,网上找了资料,终于发现原因:必须在pom.xml 的plugin 里添加cxf-buildtools 依赖包,同时要加入于cxf相关的“transformer”如下:

 

 

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
        <version>1.4</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <mainClass>## you name class name ##</mainClass>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/spring.handlers</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/spring.schemas</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/services/com.sun.tools.xjc.Plugin</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/cxf/cxf.extension</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/extensions.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/cxf/extensions.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/cxf/bus-extensions.txt</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/cxf/bus-extensions.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/wsdl.plugin.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/tools.service.validator.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.cxf.maven.PluginTransformer">
                                <resource>META-INF/tools-plugin.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer">
                                <resource>META-INF/cxf/java2wsbeans.xml</resource>
                            </transformer>
                            <transformer implementation="org.apache.cxf.maven.CXFAllTransformer" />
                        </transformers>
                        <shadedArtifactAttached>true</shadedArtifactAttached>
                        <shadedClassifierName>executable</shadedClassifierName>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.apache.cxf</groupId>
                    <artifactId>cxf-buildtools</artifactId>
                    <version>2.2.12</version>
                    <type>jar</type>
                    <scope>compile</scope>
                </dependency>
            </dependencies>
        </plugin>

 

 

再次运行 mvn: clean install 待更新下载相关的cxf-buildtools jar 完毕后~即可 双击运行 打包好的jar,成功调用.....

 

原文出处:

http://stackoverflow.com/questions/6831954/how-to-package-an-apache-cxf-application-into-a-monolithic-jar-with-the-maven-s

分享到:
评论

相关推荐

    maven-shade-plugin-3.1.0.jar

    &lt;artifactId&gt;maven-shade-plugin &lt;version&gt;3.1.0 &lt;phase&gt;package &lt;goal&gt;shade implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"&gt; &lt;resource&gt;META-INF/spring....

    apache-maven-3.8.6-bin.tar.tz--test

    apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-bin.tar.tz--test apache-maven-3.8.6-...

    apache-maven-3.6.3-bin

    apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-maven-3.6.3-bin。apache-...

    apache-maven-3.8.6.zip

    apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-maven-3.8.6-bin.zip apache-...

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource解决方案

    在Java编程中,`java.lang.ClassNotFoundException` 是一个常见的运行时异常,通常发生在尝试通过类加载器加载指定类时,但找不到对应的字节码文件。在这个特定的问题中,`ClassNotFoundException` 引发的原因是缺少...

    Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer异常

    在这个特定的场景中,异常堆栈跟踪显示了 `Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.Transformer`,这表明系统无法找到 `org.apache.commons.collections.Transformer` 类。...

    java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

    在Java编程中,`java.lang.ClassNotFoundException`是一个常见的运行时异常,它表示JVM尝试加载一个类时,找不到对应的.class文件。在这个特定的错误中,我们看到的是`org.apache.commons.dbcp.BasicDataSource`,这...

    新建Maven项目时出错:org.apache.maven.archiver.MavenArchiver.getManifest

    org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration) 解决方案: 第一种方式 war项目 &lt;groupId&gt;org.apache....

    Maven更新失败,Cannot resolve plugin org.apache.maven.plugins:maven-compiler-plugin:3.1

    在apache-maven-3.5.2/conf/setting.xml中加入以下配置即可解决 alimaven aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/ central junit junit Address/ ...

    apache-maven-3.8.8.zip

    apache-maven-3.8.8.zip压缩包内容: apache-maven-3.8.8-bin.tar.gz apache-maven-3.8.8-bin.zip apache-maven-3.8.8-src.tar.gz apache-maven-3.8.8-src.zip

    下载慢?给你apache maven 3.x.x所有Linux, Windows版本下载的百度网盘链接

    apache-maven-3.0.4-bin.tar.gz apache-maven-3.0.4-bin.zip apache-maven-3.0.5-bin.tar.gz apache-maven-3.0.5-bin.zip apache-maven-3.1.0-bin.tar.gz apache-maven-3.1.0-bin.zip apache-maven-3.1.1-bin.tar.gz...

    apache-maven-3.9.0-bin.tar

    "apache-maven-3.9.0-bin.tar" 是Apache Maven 3.9.0版本的Linux二进制发行版,以tar归档格式提供。这个版本包含了运行Maven所需的所有文件,包括可执行脚本、库文件和文档。用户在Linux环境下,可以将此文件移动到...

    apache-maven-3.9.6-bin

    在“apache-maven-3.9.6-bin”压缩包中,你会找到以下关键组件: 1. `bin` 目录:包含可执行脚本,如 `mvn` 和 `mvn.cmd`,它们分别用于Unix/Linux系统和Windows系统,用于运行Maven命令。 2. `lib` 目录:存储了...

    maven资源 apache-maven-3.3.9-bin.zip

    每个阶段都可以通过特定的插件来执行,例如,`maven-compiler-plugin`用于编译源代码,`maven-surefire-plugin`负责运行单元测试。Maven通过使用Project Object Model (POM)文件来描述项目信息,包括依赖、构建配置...

    apache-maven-3.9.0-bin.tar.gz

    在解压"apache-maven-3.9.0-bin.tar.gz"后,你会得到一个名为"apache-maven-3.9.0"的目录,其中包含以下核心组成部分: 1. **bin**:这个目录包含了可执行脚本,如`mvn`命令,用于在命令行中执行Maven操作。在...

    apache-maven-3.6.0_apache-maven-3.6.0_maven压缩包_maven3.6.0下载_

    首先,你需要下载`apache-maven-3.6.0`压缩包。这个压缩包包含了Maven运行所需的所有文件,包括bin目录下的可执行脚本,lib目录中的依赖库,以及conf目录下的配置文件如settings.xml。下载完成后,解压到你选择的...

    apache-maven-3.6.1.zip分享给需要的同学

    apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学 apache-maven-3.6.1.zip分享给需要的同学apache...

    Jenkins编译报错Failed to execute goal org.apache.maven.plugins_maven-clean-plugin

    Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:2.5:clean (default-clean) on project

    apache-maven-3.8.1-bin.zip

    在"apache-maven-3.8.1-bin.zip"这个压缩包中,您将找到Maven的可执行文件和相关资源,用于在您的计算机上安装和运行Maven。以下是一些关键知识点: 1. **Maven的组成**: - **bin目录**:包含Maven的可执行脚本,...

    apache-maven-3.6.2-bin.tar.gz

    在Unix/Linux系统中,可以使用`tar -zxvf apache-maven-3.6.2-bin.tar.gz`命令来解压,而在Windows系统中,可以使用解压软件如7-Zip来完成这个操作。解压后,你会看到一个名为`apache-maven-3.6.2`的目录,其中包含...

Global site tag (gtag.js) - Google Analytics