基于springboot搭建框架问题记录

1、集成jersey后访问接口报404

通过注解初始化jersey代码:

//@Component
//@ApplicationPath("/webapi/*")
public class AppResourceConfig extends ResourceConfig {
    public AppResourceConfig() {
        packages("com.zgl.springboot.rs");
        register(MultiPartFeature.class);
    }
}

修改为在Application后,可正常访问:

@Bean
public ServletRegistrationBean jersetServlet(){
   ServletRegistrationBean registration = new ServletRegistrationBean(new ServletContainer(), "/webapi/*");
   // our rest resources will be available in the path /webapi/*
   registration.addInitParameter(ServletProperties.JAXRS_APPLICATION_CLASS, AppResourceConfig.class.getName());
   return registration;
}

该404错误是由于 AppResourceConfig类与应用启动类在同级目录,导致jersey初始化失败。

因此将AppResourceConfig类移到入口类SpringbootApplication的下一级包下即可。

原因分析:

比如SpringbootApplication所在包路径com.test。如果不配置扫描包注解@ComponentScan,则自动扫描入口类所在的同级包以及所有子目录下的类。如果配置了扫描包路径,则不会扫描应用入口类同级包下的类。

2、发布到独立tomcat时,报错 

java.lang.NoSuchMethodError:org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V

原代码:

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>2.0.3.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

修改后代码:

<parent>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-parent</artifactId>
   <version>1.5.14.RELEASE</version>
   <relativePath/> <!-- lookup parent from repository -->
</parent>

3、发布到独立tomcat时,报错

java.lang.NoClassDefFoundError: javax/el/ELManager

tomcat的版本匹配度,7.0版本tomcat的lib下el-api.jar包无该类,发布到tomcat8版本后正常


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值