Commit fdcc0c76 authored by duanruiming's avatar duanruiming

解决包冲突问题

parent 96ded032
......@@ -37,7 +37,9 @@
<!-- 依赖版本 -->
<properties>
<el.version>3.0.0</el.version>
<spring-cloud.version>2021.0.0</spring-cloud.version>
<openfeign-version>3.1.0</openfeign-version>
<spring-cloud-alibaba.version>0.2.1.RELEASE</spring-cloud-alibaba.version>
<druid.version>1.1.5</druid.version>
<swagger.version>2.9.2</swagger.version>
......@@ -81,6 +83,26 @@
<artifactId>hibernate-validator</artifactId>
<version>${validator-version}</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>${el.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>${el.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>javax.validation</groupId>-->
<!-- <artifactId>validation-api</artifactId>-->
<!-- <version>2.0.1.Final</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>${openfeign-version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
......
......@@ -28,19 +28,15 @@
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<groupId>net.wanji</groupId>
<artifactId>signal-feign-service</artifactId>
<version>0.0.2</version>
</dependency>
<dependency>
<groupId>net.wanji</groupId>
<artifactId>signal-feign-service</artifactId>
<artifactId>wj-common</artifactId>
<version>0.0.2</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>net.wanji</groupId>-->
<!-- <artifactId>wj-common</artifactId>-->
<!-- <version>0.2.1</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
......@@ -102,6 +98,10 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</dependency>
<!-- apache commons-->
<dependency>
<groupId>commons-io</groupId>
......
......@@ -155,7 +155,10 @@
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.1.Final</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
</dependency>
</dependencies>
......
package net.wanji.utc.handler;
import lombok.extern.slf4j.Slf4j;
import net.wanji.utc.common.Result;
import net.wanji.utc.common.exception.ControlException;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
import static net.wanji.utc.common.ResultEnum.INTERNAL_SERVER_ERROR;
/**
* @author wuxiaokai
* @date 2022/11/21 9:06:40
*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
* 处理自定义的业务异常
*/
@ExceptionHandler(value = ControlException.class)
public Result<String> exceptionHandler(HttpServletRequest req, ControlException e) {
log.error("发生业务异常:", e);
return Result.error(e.getErrorCode(), e.getErrorMsg());
}
/**
* 处理空指针的异常
*/
@ExceptionHandler(value = NullPointerException.class)
public Result<String> exceptionHandler(HttpServletRequest req, NullPointerException e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
StackTraceElement element = e.getStackTrace()[0];
errorMessage = element.getClassName() + " " + element.getLineNumber();
}
log.error("发生空指针异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "发生空指针异常!位置在:" + errorMessage);
}
/**
* 参数异常
*/
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public Result<String> exceptionHandler(HttpServletRequest req, MethodArgumentNotValidException e) {
FieldError fieldError = e.getBindingResult().getFieldError();
String errorMessage = INTERNAL_SERVER_ERROR.getResultMsg();
if (fieldError != null) {
errorMessage = fieldError.getDefaultMessage();
}
log.error("发生参数异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "发生参数异常!原因是:" + errorMessage);
}
/**
* 处理其他异常
*/
@ExceptionHandler(value = Exception.class)
public Result<String> exceptionHandler(HttpServletRequest req, Exception e) {
Throwable cause = e.getCause();
String errorMessage;
if (cause != null) {
errorMessage = cause.getMessage();
} else {
errorMessage = e.getMessage();
}
log.error("未知异常:", e);
return Result.error(INTERNAL_SERVER_ERROR.getResultCode(), "未知异常!原因是:" + errorMessage);
}
}
......@@ -12,38 +12,31 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.wanji</groupId>
<artifactId>wj-common</artifactId>
<version>1.0.0</version>
<version>0.0.2</version>
<name>wj-common</name>
<description>wj-common</description>
<!-- 依赖版本 -->
<properties>
<hibernate.version>6.0.14.Final</hibernate.version>
<el.version>3.0.0</el.version>
<ignite.version>2.8.1</ignite.version>
<mail.version>1.5.2</mail.version>
<fastjson.version>1.2.56</fastjson.version>
<dom4j.version>1.6.1</dom4j.version>
<ws.rs.version>2.1.1</ws.rs.version>
<dubbo.version>2.1.1.RELEASE</dubbo.version>
<dubbo.version>2.2.2.RELEASE</dubbo.version>
<swagger.version>2.8.0</swagger.version>
</properties>
<dependencies>
<!--rest参数校验 start -->
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>${el.version}</version>
</dependency>
<!--rest参数校验 end -->
<dependency>
......@@ -175,27 +168,33 @@
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.apache.logging.log4j</groupId>-->
<!-- <artifactId>log4j-api</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-jul</artifactId>
</dependency>
<!--<dependency>-->
<!--<groupId>org.apache.logging.log4j</groupId>-->
<!--<artifactId>log4j-slf4j-impl</artifactId>-->
<!--</dependency>-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.cloud</groupId>-->
<!-- <artifactId>spring-cloud-starter-openfeign</artifactId>-->
<!-- </dependency>-->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!--dubbo依赖,各个微服务都有-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<version>${dubbo.version}</version>
<exclusions>
<exclusion>
<groupId>io.github.openfeign</groupId>
<artifactId>feign-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--spring start-->
<dependency>
......@@ -254,6 +253,12 @@
<groupId>com.alipay.jarslink</groupId>
<artifactId>jarslink-api</artifactId>
<version>1.6.1.20180301</version>
<exclusions>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- swagger -->
<dependency>
......
package net.wanji.web.handler;
package net.wanji.common.framework.exceptionhandler;
import lombok.extern.slf4j.Slf4j;
import net.wanji.feign.pojo.result.JsonViewObject;
import net.wanji.web.common.exception.CrossException;
import net.wanji.common.framework.rest.JsonViewObject;
import org.springframework.validation.FieldError;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
......@@ -10,24 +9,11 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
import static net.wanji.web.common.enums.ResultEnum.INTERNAL_SERVER_ERROR;
/**
* @author wuxiaokai
* @date 2022/11/21 9:06:40
*/
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {
/**
* 处理自定义的业务异常
*/
@ExceptionHandler(value = CrossException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, CrossException e) {
log.error("发生业务异常:", e);
return JsonViewObject.newInstance().fail("发生业务异常!原因是:{}" + e.getErrorMsg());
}
/**
* 处理空指针的异常
......@@ -52,7 +38,7 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = MethodArgumentNotValidException.class)
public JsonViewObject exceptionHandler(HttpServletRequest req, MethodArgumentNotValidException e) {
FieldError fieldError = e.getBindingResult().getFieldError();
String errorMessage = INTERNAL_SERVER_ERROR.getResultMsg();
String errorMessage = "服务器内部错误";
if (fieldError != null) {
errorMessage = fieldError.getDefaultMessage();
}
......
package net.wanji.common.framework.rest;
import lombok.Data;
import net.wanji.common.framework.Constants;
import net.wanji.common.framework.HttpCode;
import lombok.Data;
import java.io.Serializable;
/**
* restful对外的JSON 对象封装
*
* @author mapabc
*/
//没有get set方法会导致feign 接口调用时,无法使用JsonViewObject作为返回值
@Data
public class JsonViewObject implements Serializable {
......@@ -79,7 +76,7 @@ public class JsonViewObject implements Serializable {
this.message = message;
this.status = status;
//增加服务返回状态码,后期待完善
this.code=(status.equals(Constants.JsonView.STATUS_SUCCESS) ? HttpCode.SUCCESS.value():HttpCode.INTERNAL_SERVER_ERROR.value());
this.code = (status.equals(Constants.JsonView.STATUS_SUCCESS) ? HttpCode.SUCCESS.value() : HttpCode.INTERNAL_SERVER_ERROR.value());
return this;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment