• IDEA+springboot相关


    2022-01-26

     Multiple markers at this line
    - The type org.apache.ibatis.type.TypeHandler cannot be resolved. It is 
     indirectly referenced from required .class files
    - The type org.apache.ibatis.type.JdbcType cannot be resolved. It is 
     indirectly referenced from required .class files

    说明你目前版本的Eclipse太旧了,不支持JDK1.8了,要么换最新版本的Eclipse,要么用IDEA。

     有时候,明明pom.xml里添加了外部架包,代码里也能正常运行,查是源码里就是提示报错,说类不存在,刷新这里就好了,maven更新不及时的原因:

    外部架包jar里用到了一个Service, 但是本部项目却识别不了它,说bean不存在。

    解决办法1:File -> Project Structure -> 左边菜单找到Facets -> 中间菜单选中 Spring(xxx) -> 再点左边框上边沿的+号 -> 

    在打开的对话框中选 + 号

     选中Code-base configurations 然后选中你外部包bean所在的java文件就好。

    感觉这个不是最优方案,先这样做吧,反正不报错了。

    2022-01-27

    如果想Eclipse打我maven jar包可以给idea用,需要共用一个setting.xml文件。

    IDEA中 File -> Settings -> 搜索maven

    2022-01-28

    OxmSerializer的配置。(OxmSerializer是把bean转成xml字符串)

    @Configuration
    public class RedisConfig {
    
        @Bean
        public RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
            RedisTemplate<Object, Object> template = new RedisTemplate<Object, Object>();
            template.setConnectionFactory(redisConnectionFactory);
            OxmSerializer serializer = new OxmSerializer();
            try{
                Jaxb2Marshaller marshaller = new Jaxb2Marshaller();//创建JAXB上下文环境
                Map<String,Object> properties = new HashMap<String, Object>();//创建映射,用于设置Marshaller属性
                properties.put(javax.xml.bind.Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);   //放置xml自动缩进属性
                marshaller.setClassesToBeBound(Resp.class, String.class);//映射的xml类放入JAXB环境中
                marshaller.setMarshallerProperties(properties);//设置Marshaller属性
                serializer.setMarshaller(marshaller);
            }catch(Exception e){
                e.printStackTrace();
            }
            template.setDefaultSerializer(serializer);
            template.setKeySerializer(new StringRedisSerializer());//这个很重要,否则系统key也去序列化
            return template;
        }
    }

    2022-02-10

    找不到jar里面的bean,加@SpringBootApplication(scanBasePackages = {"com.dr.iptv.ubp"})

    2022-02-14

    手动创建的目录src/test/java没有识别为测试代码目录(不能加包package,加类class)。可以选中java目录,右击弹出列表中选“Mark Directory as”

    2022-03-14

    java.lang.IllegalStateException: Could not load TestContextBootstrapper [null]. Specify @BootstrapWith's 'value' attribute or make the default bootstrapper class available.

    报这个错,是因为引用了hibernate方式的dao。比如iptv_dao_charge.

    java.lang.NoClassDefFoundError: org/springframework/core/ErrorCoded

    报这个错,是因为引用了其它的Spring版本,比如iptv_common里就私自引用了spring,把pom.xml里的引用spring注掉,重新打包就好了。

    2022-03-23

    Caused by: java.lang.ClassNotFoundException: # Licensed to the Apache Software Foundation (ASF) under one or more
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1352) ~[catalina.jar:8.0.52]
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) ~[catalina.jar:8.0.52]
    at javax.el.ExpressionFactory.newInstance(ExpressionFactory.java:147) ~[el-api.jar:3.0.FR]
    ... 86 common frames omitted

    SpringBoot如果是用tomcat容器启动的,打的war包中就不能有tomcat_xxxx.jar这样的架包,如果有,就会报错,说生成不了jsp。

    用指定jdk启动tomcat

    window下:

    修改bin/catalina.bat,在命令行前加上变量  set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_271    指定你的jdk根目录

    2022-03-24

    因为我创建了webapp目录,系统自动识别了这个web文件目录,打包war的时候,让我创建web.xml文件,因为我知道SpringBoot启动是不依赖web.xml启动的。

    就从网上随便 找了一个空的web.xml丢进去。(后来悲剧了)

    后来写个最简单的jsp,发现jsp不识别EL表达式(${xxxx}),百度一下,jsp文件加一行  <%@ page isELIgnored="false" %>

    确实有效,

    但每一个jsp加,有点量大,后来搜到一个高手说web.xml2.3不支持,升级一下就好了,后来web.xml我换成

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        id="WebApp_ID" version="3.0">
    </web-app>

    3.0之后,jsp就默认支持EL表达式了,不用每一个jsp页面加<%@ page isELIgnored="false" %>了。

    打开idea, 出现奇怪的问题,明明是同一个项目中的类,却标红说找不到,关闭idea再打开也不好。

    解决办法:idea -> File -> Invalidate Caches... 就好了。

    2022-04-01

    如果是Eclipse和Idea双平台协作,如果在eclipse修改了,一定要maven install, 要不然在idea不是最新的。

    在idea中修改了pom.xml并不会生效,需要点刷新:

    2022-05-05

    1、tomcat启动,没有进入springboot

    MyApplication要继承SpringBootServletInitializer并实现configure方法

    public class MyApplication extends SpringBootServletInitializer {
    
        public static void main(String[] args) {
            SpringApplication.run(MyApplication.class, args);
        }
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(MyApplication.class);
        }
    }

    2、

    2022-05-05 11:33:56.971 ERROR (SpringApplication.java:819)- Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultValidator' defined in class path resource [org/springframework/boot/autoconfigure/validation/ValidationAutoConfiguration.class]: Invocation of init method failed; nested exception is java.lang.AbstractMethodError: org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultParameterNameProvider()Ljavax/validation/ParameterNameProvider; at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.14.jar:5.3.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.14.jar:5.3.14] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.14.jar:5.3.14] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.14.jar:5.3.14] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5

     后来发现是lib下面有2个hibernate-validator,删除一个低版本的重启就ok了。

  • 相关阅读:
    我们是怎么管理QQ群的
    2014年10月【下】-前端开发半月刊
    我们一般的前端开发流程
    没有素描色彩基础适合学习UI吗,如果可以,该怎么学?
    豪情-关于生活工作学习之感悟-第一篇
    网页插件学javascript还是jquery好啊?
    我们平时是怎么写html和css的?
    2014年10月【上】-前端开发半月刊
    2014年9月-前端开发月刊
    固定滚动菜单
  • 原文地址:https://www.cnblogs.com/angelshelter/p/15848641.html
Copyright © 2020-2023  润新知