精华内容
下载资源
问答
  • restful的前端+jpa的后台,核心的代码jar包都导入完事了,就是最后的时候,启动工程的时候发现了冲突,怎么都解决不明白了,以下我的错误信息 22:53:46,428 ERROR [org.jboss.as.controller.management-operation...
  • Jar 包冲突的解决

    2016-08-14 19:47:00
    我们在发布应用的时候,有时能正常启动,有时却报NoSuchMehodException、NoSuchFieldException、ClassNotFoundException或者NoSuchMehodError、NoClassDefFoundError,而发布用的war包却同一个,这什么呢?...

     

    1.导致jar包冲突的原因

    我们在发布应用的时候,有时能正常启动,有时却报NoSuchMehodException、NoSuchFieldException、ClassNotFoundException或者NoSuchMehodError、NoClassDefFoundError,而发布用的war包却是同一个,这是为什么呢?

    原因是因为当项目依赖的jar包很多时,应用加载这些jar包的顺序不取决于jvm,而是取决于操作系统,linux环境下就取决于文件的inode的顺序,而不同机器上同一个jar包的inode值是不一样的,加载的顺序也就不一样。假如项目依赖A和B;A依赖C1.0,B依赖C2.0,项目在启动的时候加载哪个版本的C我们是不确定的,这就会导致上述错误。

     

    2.解决步骤

     

    2.1 定位冲突的类

    根据异常信息找到对应的类,比如找不到CollectionUtils.isEmpty()方法,那冲突的类就是apache的commons-collections中的工具类CollectionUtils类。

     

    2.2 找出哪几个jar包中包含该类

    使用命令jar -tvf *.jar 查看包中都有哪些类,tvf的意思是展开而不解压,方便我们查看而已;

    这样就可以找到冲突的jar包有哪些。

     

    2.3 分析冲突的jar包的依赖路径

    mvn dependency:tree -Dverbose -Dincludes=<groupId>:<artifactId>

    mvn dependency:tree是输出整个应用依赖的jar包,-Dverbose是输出明细,就是输出所有的引用,包括中间引用。

    groupId和artifactId可以选择一个,只打出指定groupId和artifactId的依赖关系,这样打出来的叶子节点就是我们要找的jar包,也可以用

    mvn dependency:tree > depTree.txt 打出所有的依赖关系

     

    2.4 选择一个所需的版本

    在冲突的版本中,我们在自己的项目中用到了哪个版本的语法,就选择哪个,剩下的就是要将依赖中的不需要的jar包排除

    <dependency>
        <groupId>com.xxx.xx</groupId>
        <artifactId>xxx</artifactId>
        <version>x</version>
        <exclusions>
            <exclusion>
                <artifactId>com.springsource.slf4j.org.apache.commons.logging</artifactId>
                <groupId>org.slf4j</groupId>
            </exclusion>
        </exclusions>
    </dependency>

     


     

     

    转载于:https://www.cnblogs.com/john8169/p/9780589.html

    展开全文
  • 什么是微服务

    2019-01-21 12:25:41
    业务通常通过部署一个 WAR 包到 Tomcat 中,然后启动 Tomcat,监听某个端口即可对外提供服务。 单体应用优点: 方便调试,代码都在一起; 没有分布式开销,所有服务都在本地容器内; 中小型项目可以快速迭代,不...

    单体应用
    业务通常是通过部署一个 WAR 包到 Tomcat 中,然后启动 Tomcat,监听某个端口即可对外提供服务。

    单体应用优点:
    方便调试,代码都在一起;
    没有分布式开销,所有服务都在本地容器内;
    中小型项目可以快速迭代,不需要太多资源

    单体应用容易造成的问题:
    版本管理难:当项目规模变大时,代码容易产生冲突。
    稳定性差:局部服务有问题,可能会影响整体;
    可维护性差:规模扩大复杂性直线上升,造成系统不易理解;
    可扩展性差:无法满足高并发下对应用的要求,不利于较高利用率的横向扩展;
    可复用性差:服务被打包在应用中,功能不易复用;
    灵活性差:服务不容易灵活调配、升降级等。
     

    服务化

    用通俗的话来讲,服务化就是把传统的单机应用中通过 JAR 包依赖产生的本地方法调用,改造成通过 RPC 接口产生的远程方法调用

    1. 优点
    易于开发和维护:一个微服务只会关注一个特定的业务功能,所以业务清晰、代码量较少。开发和维护单个微服务相对简单。
    单个微服务启动较快
    局部修改容易部署:单体应用只要有修改,就得重新部署整个应用。微服务解决了这样的问题。一般来说,对某个微服务进行修改,只需要重新部署这个服务即可。
    技术栈不受限制:在微服务架构中,可以结合项目业务及团队的特点,合理的选择技术栈。
    按需伸缩:可根据需求,实现细粒度的扩展。
    2. 缺点
    运维要求高:更多的服务意味着要投入更多的运维。
    分布式固有的复杂性:使用微服务构建的是分布式系统。对于一个分布式系统,系统容错、网络延迟、分布式事务等都会带来巨大的问题。
    接口调整成本高:微服务之间通过接口进行通信。如果修改某一个微服务的API,可能所有用到这个接口的微服务都需要进行调整。

    展开全文
  • 2.什么是StringBoot? StringBoot 一个快速开发框架,能够帮助我们快速整合第三方常用框架(Maven依赖关系##Maven继承),完全采用注解化,简化XML配置,没有web.xml(String3.0之后采用注解方式启动SpringMVC),...

    1.什么要用SpringBoot?
    传统项目:整合ssh,考虑配置文件、jar的冲突、整合起来繁琐。
    打包方式:打包成一个war包放入到tomcat webapps 目录下运行
    2.什么是StringBoot?
    StringBoot 是一个快速开发框架,能够帮助我们快速整合第三方常用框架(Maven依赖关系##Maven继承),完全采用注解化,简化XML配置,没有web.xml(String3.0之后采用注解方式启动SpringMVC),内置嵌入服务器(Tomcat,Java创建Tomcat),最终用Java应用程序进行执行
    3.什么是SpringCloud?
    SpringCloud是一套目前完整版的微服务框架,功能非常强大,注册中心、客户端调用工具、服务治理(负载均衡、断路器、分布式配置中心、网关、服务链路、消息总线等)
    4.SpringBoot与SpringCloud关系
    SpringBoot+SpringCloud是微服务框架
    SpringBoot 实现快速开发。
    微服务通讯技术 http+json(restful) 轻量级 SpringBoot Web组件默认继承SpringMVC,SpringClound依赖于SpringBoot实现服务,使用SpringMVC编写微服务接口。
    总结:SpringCloud 与 SpringBoot的区别
    微服务开发----RPC远程通讯技术,服务治理
    核心区别:
    SpringCloud 微服务框架###RPC远程调用
    5.SpringBoot和SpringMVC的关系
    SpringBoot Web组件集成SpringMVC框架。但是SpringBoot启动SpringMVC的是时候没有传统的配置文件?
    SpringBoot 如何启动SpringMVC
    SpringMVC3.0之后产生注解
    SpringMVC在3.0支持注解方式启动SpringMVC(使用Java代码启动SpringMVC)

    展开全文
  • 它能做什么 支持所有三个种族 使您能够从IDE一键运行您的机器人,只需运行它,它将运行Chaoslauncher和Starcraft 构建订单完全可定制的,并且非常易于使用,请参阅bwapi / read / build_orders文件; 接受多种...
  • 找到项目的目录 查找artifacts文件夹 删掉不是你项目名称的那个 ...发布两个网页不是什么大问题 但是这两玩意地址一样 争夺资源啊冲突之类的 转载于:https://www.cnblogs.com/ydymz/p/8330331.html...

    找到项目的目录

    查找artifacts文件夹

    删掉不是你项目名称的那个

     

    问题出现的原因是你该项目名字了

    造成tomcat发布两个网页

    发布两个网页不是什么大问题

    但是这两玩意地址一样

    争夺资源啊冲突之类的

    转载于:https://www.cnblogs.com/ydymz/p/8330331.html

    展开全文
  • 3、provided依赖:在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突  4、runtime在运行的时候依赖,在编译的时候不依...
  • 在排查的过程中有的说是jboss自带的jar和war包中的jar有冲突。 后来找了高人,原来参数配置有问题 这个参数太小了,就会导致Jboss应用启动中没什么大的报错,但是启动到一部分就会不刷新日志,其实这回进程...
  • Application Server比如Tomcat, Weblogic, Websphere等会为每个部署的应用指定一个类加载器,为的在加载每个应用的类时都从自己的目录中加载,这样即使不同的应用包(.war, .ear)有同名类,也不会冲突。 由于每个...
  • jetty发布一个令人头疼的问题。

    千次阅读 2011-12-22 11:10:18
    查看路径是war中存在一个xml,/tmp/jetty-xxxxx/webinf/WEB-INF/classes下也有一个。但是之前的应用为什么冲突呢? 经驼比较原来之前的应用要么放在WEB-INF下的,要么应用先打成jar包放在WEB-INF/lib/下,x
  • maven 是什么2. maven能解决什么问题3. maven 需要配置和下载4. 使用eclipse创建maven项目5. xml依赖配置 作用范围6. maven的常用命令 1. maven 是什么 Maven 在美国是一个口语化的词语,代表专家、内行的意思, ...
  • 20190322问题总结

    2019-09-24 07:40:55
    20190322问题总结 tomcat里有两个war包同包同名是否会产生冲突。 beanFactory了解吗, spring对bean的管理周期是什么? 长链接,短链接 ...
  • 用jsf2.0编写的web应用,以war文件部署到jboss.4.2直接部署,报classcastexception ,后来听说jsf2.0所依赖的Jar包冲突,然后把war的lib下的jsf-api.jar 和jsf-impl.jar删除,部署成功,产生的新问题,用浏览器...
  • 什么是SpringBoot? SpringBoot和SpringCloud的区别? SpringBoot和SpringMVC的关系? 1. 为什么要使用SpringBoot? 如果传统项目要整合SSH或SSM,需要考虑很多问题,比如配置文件,Jar包冲突,整合过程十分...
  • 什么要使用SpringBoot? 传统项目: ...什么是SpringBoot? SpringBoot一个“快速开发框架”,帮助我们快速的整合(常用的)第三方框架(通过Maven依赖关系###依赖关系底层由Maven继承实现)...
  • 学习SpringBoot(一)

    2018-12-11 18:47:10
    SpringBoot(一) springBoot入门: ...1.1什么是springBoot? springBoot一个快速开发框架,能够帮助我们快速整合第三方框架(maven依赖关系,maven继承),完全采用注解化,简化xml配置,内置嵌入...
  • SpringBoot(1)

    2019-08-27 16:39:56
    1.为什么用SpringBoot ...什么是SpringBoot SpringBoot一个快速开发框架,能够帮助我们快速整合第三方框架(Maven依赖关系##Maven继承),完全采用注解化(SpringBoot项目中没有web.xml),简化...
  • SpringBoot2.0第一篇

    2018-07-04 17:44:56
    SpringBoot2.0之HelloWorld问题1:为什么要使用SpringBoot?...问题2:什么是SpringBoot?SpringBoot一个快速开发框架,能够帮助我们快速整合第三方常用框架(原理:maven依赖关系###maven继承方式),完...
  • 一、SpringBoot介绍 1、自springboot2.0后,JDK环境必须在1.8以上 2、为什么要用Springboot?...3、什么是springboot? (1)Springboot一个快速开发框架,能够帮助我们快速整合第三方框架(如...
  • Spring boot 学习(一)

    2019-04-10 23:31:16
    1、为什么用到spring boot...2、什么是Springboot? 一个快速开发框架,能够帮助我们快速整合第三方常用框架(底层/原理:Maven依赖关系##Maven继承),完全采用注解化(使用注解化启动springmvc),简化xml配置,内...
  • SpringBoot--1.前言

    2019-09-24 22:43:42
    1.为什么要用SpringBoot?   传统项目:整合SSH...2. 什么是SpringBoot?   SpringBoot一个快速开发框架,能够帮助我们快速整合第三方框架(Maven依赖关系##Maven继承),完全采用注解化,简化XML配置,内置...
  • SpringBoot实战之路

    2020-02-12 12:15:26
    2、什么是SpringBoot? 快速开发框架,快速整合第三方常用框架。(Maven依赖关系,Maven继承方式实现) 完全采用注解化简化xml配置。内嵌Http服务器(Tomcat、Jetty)最终以java应用程序执...
  • 1. 微服务架构与传统架构之间的区别是什么? 传统的架构模式就是将所有的功能模块都打包在一个war包中,而微服务则是以业务域为模型将单体架构拆分成多个小型自治服务集合。 单体架构: 优点 易于开发测试,项目...
  • SpringBoot浅谈

    2020-12-30 16:17:09
    什么是SpringBoot?SpringBoot自动配置的原理? 1.什么是SpringBoot? 一个快速开发、部署的框架。相对于之前的ssm的话提供了一些优化和新增了一些功能。 优化: 1.简化配置,比方说组件扫描、事务的开启、AOP的...
  • springboot的基本概述 ,编写第一个springboot工程前言一、SpringBoot是什么?二、SpringBoot优点?三、编写第一个springboot工程最终代码总结 前言 在普通的java项目中,大量的XML文件配置起来是很繁琐就会导致...
  • 我认为面试一个自我审视的过程,什么地方做的不对,还有什么地方需要弥补,都可以通过面试来发现。   Tomcat的jar包与项目中的jar包冲突: 在tomcat的context.xml中配置一个参数 &lt;Loader delegate=&...
  • spring boot作用

    2019-02-27 13:53:50
    答:spring boot一个快速开发框架,能够帮助我们快速正好第三方框架,并且不需要各种xml配置,完成注解化,并且内置嵌入http服务器(并且内置服务器,默认Tomcat服务器),不需要再打成war包了直接使用java应用...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

war冲突是什么