博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codding杂记
阅读量:7071 次
发布时间:2019-06-28

本文共 2732 字,大约阅读时间需要 9 分钟。

记录自己在项目和学习中遇到的一些问题和相应的解决方法。

  • 1.发布项目出错。

    发布项目的时候,会检查spring的jar冲突情况,遇到了在parent的pom.xml文件中引用了dubbo,当然也用到了spring的坐标,意外的是dubbo已经引用了spring的jar包,所以导致冲突,删除dubbo相关的引用 || 使用以下代码消除冲突。(2018-6-13)

    //发布报错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in file[/usr/local/software/apache-tomcat-7.0.73/webapps/easybuy-manager-web/WEB-INF/classes/spring/applicationContext-dao.xml]:Initialization of bean failed; nested exception is 'java.lang.reflect.MalformedParameterizedTypeException'//去除jar冲突
    com.alibaba
    dubbo
    ${dubbo.version}
    spring
    org.springframework
    复制代码
  • 2.打包请打web工程

    随后发现使用parent工程直接从eclipseexport到处的war包也会报错,而web工程的是可以运行的。最好是使用gradle,maven等构建工具去完成。

  • 3.ArrayList删除倒数第二个元素不报ConcurrentModificationException原因

    从源码看到这应该清楚的知道遍历list时进行删除抛出错误的原因是因为modCount != expectedModCount,而删除倒数第二个不抛错的原因就在于迭代器获取元素前的hasNext()判断,当遍历到倒数第二个元素并删除该元素时将使列表的size-1并等于cursor,此时hasNext()返回false所以不再调用next()方法调用checkForComodification()进行修改验证。(原文来自)

  • 4.$(selector).serialize()引起的乱码问题。

    很久之前做毕设的时候,遇到了一个让自己匪夷所思的乱码问题,反复检查了数据库编码方式,tomcat编码方式,编码过滤器是否有配置,但是都没有找到问题所在,最后通过去前端的请求开始朔源查找问题。终于,发现该请求方式是ajax的getJSON方式,而刚刚好的是自己传入的data是通过jQuery方法中的$(selector).serialize()序列化表单的方式,关键在于这个方法自动调用了encodeURIComponent方法将数据编码了,而且getJSON这个请求方式正如其名,是一个get请求,所以在web.xml中配置的CharacterEncodingFilter字符编码过滤器并不会对其进行过滤(只会处理post方式的请求),所以到了数据库之后就是乱码。 找到了原因,所以可以从两方面入手。

    • 1).自己去decodeURIComponent(XXX,true)手动解码
    • 2).配置了字符编码过滤器的话,就放弃getJSON方法,使用POST方式请求。(自己使用的,简单)
  • 5.版本,版本,版本!

    最近在组合不同的web容器和数据来搭建环境。这个过程遇到了很多坑,最重要的就是版本问题。首当其冲的就是东方通这个web容器了,之前项目经理给了一个5.0版本的,但是一直都打好的war包发布不上去,最后通过同事知道原来tongweb的5.0并不支持J2EE6的规范,所以没有实际上没有部署,因为没有出现springboot的启动标志,虽然war是解开了。后面同事给了我一个6.0版本的,还是不能访问。一直无果,最后经理提示我springboot的版本是不是太高了,我试着换成了1.5.14的版本,打好包拿去试一下,看到了successful和100%,人生美满!(在tongweb的console页面发布,需要使用父类优先)

  • 6.gradle项目中需要添加其他jar包?

    • 在工程中添加lib文件,将需要打包的jar放入该文件夹中。
    • 添加jar包依赖到项目中
    • gradle:compile编译lib下的jar
      dependencies {    compile('org.springframework.boot:spring-boot-starter-jdbc')    compile('org.springframework.boot:spring-boot-starter-web')    compile fileTree(dir: 'lib', include: ['*.jar'])  //<-------    //jetty容器    //compile("org.springframework.boot:spring-boot-starter-jetty:1.5.4.RELEASE")    //undertow容器    //compile("org.springframework.boot:spring-boot-starter-undertow:1.5.4.RELEASE")    //netty容器    compile('io.gitlab.leibnizhu:spring-boot-starter-netty:1.0')    compile('org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2')    //runtime('com.h2database:h2')    testCompile('org.springframework.boot:spring-boot-starter-test')}复制代码
    • 使用gradle进行打包,ok

转载地址:http://aeell.baihongyu.com/

你可能感兴趣的文章
MPChart 使用参考博客
查看>>
java: command not found
查看>>
单机上使用git#180804
查看>>
nginx+tomcat负载均衡
查看>>
php-编译安装
查看>>
感谢2011
查看>>
power shell 远程连接
查看>>
你的灯还亮着吗
查看>>
android手机在slackware linux上的调试
查看>>
mysql性能优化配置
查看>>
JavaScript继承方式详解
查看>>
解决win7旗舰版无法打开微软论坛
查看>>
烂泥:高负载均衡学习haproxy之安装与配置
查看>>
Web.config配置文件详解(新手必看)<转>
查看>>
【转】shell编程:数学运算
查看>>
ASP.NET
查看>>
使用mosh取代ssh提高n2n网络连接稳定性
查看>>
Introduction - 介绍
查看>>
C++之萃取技术(traits)
查看>>
13、ArrayBlocking
查看>>