当前位置: 首页 > news >正文

Maven打uber-jar,运行报读取不到dubbo.xsd的解决方案

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

    以前用的是maven-assembly-plugin打uber-jar的形式,简单的Java项目一般都没什么问题,这次项目包含dubbo服务调用,包含了dubbo.jar,打包运行报错: Failed to read schema document from http://code.alibabatech.com/schema/dubbo/dubbo.xsd,打包时没有将配置文件一并打包到jar中,所以才会去网络上找这个xsd文件,于是找资料发现maven-assembly-plugin不会把相关配置文件打包进去,所以换一个插件,maven-shade-plugin,打包速度也比之前的快,推荐,配置插件代码如下:

            <!--生成一个 uber-jar,它包含所有的依赖 jar 包-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.1.0</version>
                <executions>
                    <execution>
                        <!--将 goal shade:shade 绑定到 phase package 上-->
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <!--自动将所有不使用的类全部排除掉,将 uber-jar 最小化-->
                            <minimizeJar>true</minimizeJar>
                            <transformers>
                                <!--通过设置 MainClass 创建一个可执行 Jar 包。-->
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <manifestEntries>
                                        <Main-Class>com.demo.Main</Main-Class>
                                    </manifestEntries>
                                </transformer>
                                <!--把spring.handlers和spring.schemas文件以append方式加入到构建的jar包中,这样就不会出现xsd找不到的情况-->
                                <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>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

 

转载于:https://my.oschina.net/dailongyao/blog/1589556

相关文章:

  • PHP的引用,你知道多少
  • 06、python 系列之 函数
  • ASP.NET Linux部署(2) - MS Owin + WebApi + Mono + Jexus
  • 并查集-----hrbust 1073
  • Unity LayerMask 的位运算
  • 搭建千万PV高可用系统—DNS
  • eclipse再见,android studio 新手入门教程(一)基本设置
  • CentOS 7.2 安装jdk1.8.x版本
  • UVA 725 division【暴力枚举】
  • angularjs $$phase
  • 安装PHP5,安装PHP7
  • CSS 为什么这么难学?
  • sql server 索引总结一
  • 『TensorFlow』读书笔记_Word2Vec
  • Android UI进阶之旅15 SVG的使用
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • es6
  • golang中接口赋值与方法集
  • Java|序列化异常StreamCorruptedException的解决方法
  • MySQL几个简单SQL的优化
  • 动态魔术使用DBMS_SQL
  • 盘点那些不知名却常用的 Git 操作
  • 区块链共识机制优缺点对比都是什么
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 线上 python http server profile 实践
  • 消息队列系列二(IOT中消息队列的应用)
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • (1)Nginx简介和安装教程
  • (C#)一个最简单的链表类
  • (day6) 319. 灯泡开关
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (机器学习-深度学习快速入门)第一章第一节:Python环境和数据分析
  • (论文阅读30/100)Convolutional Pose Machines
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (三)elasticsearch 源码之启动流程分析
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net refrector
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @WebService和@WebMethod注解的用法
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [《百万宝贝》观后]To be or not to be?
  • [android] 手机卫士黑名单功能(ListView优化)
  • [Angular] 笔记 21:@ViewChild
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [C# 基础知识系列]专题十六:Linq介绍
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [c]扫雷
  • [C++11 多线程同步] --- 条件变量的那些坑【条件变量信号丢失和条件变量虚假唤醒(spurious wakeup)】
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [git]git命令如何取消先前的配置