<转>基于json-lib.jar包Json实例程序

本文详细介绍如何使用json-lib.jar包实现JSON与Java对象之间的相互转换,并通过具体示例展示了不同场景下的转换方法。此外,还介绍了Jackson库的13种使用方法,包括序列化、反序列化、枚举处理等高级特性。
原链:http://www.cnblogs.com/langtianya/archive/2013/04/09/3009235.html

基于json-lib.jar包Json实例程序
1.JSONObject to DynaBean
String json = "{name=\"json\",bool:true,int:1,double:2.2}";
JSONObject jsonObject = JSONObject.fromObject(json);
//抽象的写法:DynaBean bean = (DynaBean) JSONSerializer.toJava( jsonObject );
Object bean = JSONObject.toBean(jsonObject);
//Object bean1 = JSONSerializer.toJava(jsonObject);
assertEquals(jsonObject.get("name"), PropertyUtils.getProperty(bean, "name"));
assertEquals(jsonObject.get("bool"), PropertyUtils.getProperty(bean, "bool"));
assertEquals(jsonObject.get("int"), PropertyUtils.getProperty(bean, "int"));
assertEquals(jsonObject.get("double"), PropertyUtils.getProperty(bean, "double"));

2.JSONObject to JavaBean
String json = "{name:\"zhangsan\",age:25,hight:1.72,sex:true}";
JSONObject jsonObject = JSONObject.fromObject(json);
UserBean bean = (UserBean) JSONObject.toBean(jsonObject, UserBean.class);
System.out.println(jsonObject);
理论上,这样就可以了,但时,有异常Caused by: java.lang.NoSuchMethodException: com.json.Json$UserBean.<init>()

3.JSONArray to List
String json = "[\"first\",\"second\"]";
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
List output = (List) JSONSerializer.toJava(jsonArray);

4.JSONArray to array
String json = "[\"first\",\"second\"]";
JSONArray jsonArray = (JSONArray) JSONSerializer.toJSON(json);
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.setArrayMode(JsonConfig.MODE_OBJECT_ARRAY);
Object[] output = (Object[]) JSONSerializer.toJava(jsonArray, jsonConfig);
Object[] expected = new Object[] { "first", "second" };
ArrayAssertions.assertEquals(expected, output);

5.JSON 字符串 专为 JavaBean(刘慧斌demo 演示需要的jar包在附件里)

String str="[{\"id\":\"328\",\"mestype\":\"inbox\"},{\"id\":\"327\",\"mestype\":\"inbox\"},{\"id\":\"279\",\"mestype\":\"already\"},{\"id\":\"278\",\"mestype\":\"already\"},{\"id\":\"277\",\"mestype\":\"already\"},{\"id\":\"310\",\"mestype\":\"inbox\"},{\"id\":\"308\",\"mestype\":\"inbox\"},{\"id\":\"305\",\"mestype\":\"inbox\"},{\"id\":\"304\",\"mestype\":\"inbox\"},{\"id\":\"303\",\"mestype\":\"inbox\"}]";
JSONArray jsonArray=(JSONArray) JSONSerializer.toJSON(str);
List list=(List)JSONSerializer.toJava(jsonArray);
for (Object obj: list) {
JSONObject jsonObject = JSONObject.fromObject(obj);
MessageBean bean = (MessageBean) JSONObject.toBean(jsonObject, MessageBean.class);
String id=bean.getId()+"";
String type=bean.getMestype();
System.out.println(id+" "+type);
}
System.out.println(list.size());



http://blog.sina.com.cn/s/blog_9d0ce63d01012vmd.html JacksonDemo及使用方法


本文依据springside实例,演示Jackson的基本使用方式及大量的特殊Feature.一共13种使用方法。
public class JsonDemo {
private static JsonMapper mapper = JsonMapper.buildNonDefaultMapper();
1、序列化对象/集合到Json字符串.
@Test
public void toJson() throws Exception {
//Bean
TestBean bean = new TestBean("A");
String beanString = mapper.toJson(bean);
System.out.println("Bean:" + beanString);
assertEquals("{"name":"A"}", beanString);
//Map
Map<String, Object> map = Maps.newLinkedHashMap();
map.put("name", "A");
map.put("age", 2);
String mapString = mapper.toJson(map);
System.out.println("Map:" + mapString);
assertEquals("{"name":"A","age":2}", mapString);
//List<String>
List<String> stringList = Lists.newArrayList("A", "B", "C");
String listString = mapper.toJson(stringList);
System.out.println("String List:" + listString);
assertEquals("["A","B","C"]", listString);
//List<Bean>
List<TestBean> beanList = Lists.newArrayList(new TestBean("A"), new TestBean("B"));
String beanListString = mapper.toJson(beanList);
System.out.println("Bean List:" + beanListString);
assertEquals("[{"name":"A"},{"name":"B"}]", beanListString);
//Bean[]
TestBean[] beanArray = new TestBean[] { new TestBean("A"), new TestBean("B") };
String beanArrayString = mapper.toJson(beanArray);
System.out.println("Array List:" + beanArrayString);
assertEquals("[{"name":"A"},{"name":"B"}]", beanArrayString);
}
2、从Json字符串反序列化对象/集合.
@Test
public void fromJson() throws Exception {
//Bean
String beanString = "{"name":"A"}";
TestBean bean = mapper.fromJson(beanString, TestBean.class);
System.out.println("Bean:" + bean);
//Map
String mapString = "{"name":"A","age":2}";
Map<String, Object> map = mapper.fromJson(mapString, HashMap.class);
System.out.println("Map:");
for (Entry<String, Object> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
//List<String>
String listString = "["A","B","C"]";
List<String> stringList = mapper.fromJson(listString, List.class);
System.out.println("String List:");
for (String element : stringList) {
System.out.println(element);
}
//List<Bean>
String beanListString = "[{"name":"A"},{"name":"B"}]";
JavaType beanListType = mapper.constructParametricType(List.class, TestBean.class);
List<TestBean> beanList = mapper.fromJson(beanListString, beanListType);
System.out.println("Bean List:");
for (TestBean element : beanList) {
System.out.println(element);
}
}
3、 测试三种不同的Binder.
@Test
public void threeTypeBinders() {
TestBean bean = new TestBean("A");
//打印全部属性
JsonMapper normalMapper = JsonMapper.buildNormalMapper();
assertEquals("{"nullValue":null,"name":"A","defaultValue":"hello"}", normalMapper.toJson(bean));
//不打印nullValue属性
JsonMapper nonNullMapper = JsonMapper.buildNonNullMapper();
assertEquals("{"name":"A","defaultValue":"hello"}", nonNullMapper.toJson(bean));
//不打印默认值未改变的nullValue与defaultValue属性
JsonMapper nonDefaultMaper = JsonMapper.buildNonDefaultMapper();
assertEquals("{"name":"A"}", nonDefaultMaper.toJson(bean));
}
4、测试传入空对象,空字符串,Empty的集合,"null"字符串的结果.
@Test
public void nullAndEmpty() {
// toJson测试 //
//Null Bean
TestBean nullBean = null;
String nullBeanString = mapper.toJson(nullBean);
assertEquals("null", nullBeanString);
//Empty List
List<String> emptyList = Lists.newArrayList();
String emptyListString = mapper.toJson(emptyList);
assertEquals("[]", emptyListString);
// fromJson测试 //
//Null String for Bean
TestBean nullBeanResult = mapper.fromJson(null, TestBean.class);
assertNull(nullBeanResult);
nullBeanResult = mapper.fromJson("null", TestBean.class);
assertNull(nullBeanResult);
//Null/Empty String for List
List nullListResult = mapper.fromJson(null, List.class);
assertNull(nullListResult);
nullListResult = mapper.fromJson("null", List.class);
assertNull(nullListResult);
nullListResult = mapper.fromJson("[]", List.class);
assertEquals(0, nullListResult.size());
}
5、测试对枚举的序列化,可以选择用一个int字段而不是以Name来序列化,以减少少长度.
@Test
public void enumData() {
//默認使用enum.name()
assertEquals(""One"", mapper.toJson(TestEnum.One));
assertEquals(TestEnum.One, mapper.fromJson(""One"", TestEnum.class));
//使用enum.toString()
//注意,index會通過toString序列成字符串而不是int,否則又和順序號混淆.
//注意配置必須在所有讀寫動作之前調用.
JsonMapper newMapper = JsonMapper.buildNormalMapper();
newMapper.setEnumUseToString(true);
assertEquals(""1"", newMapper.toJson(TestEnum.One));
assertEquals(TestEnum.One, newMapper.fromJson(""1"", TestEnum.class));
}
枚举的演示Bean.
public static enum TestEnum {
One(1), Two(2), Three(3);
private int index;
TestEnum(int index) {
this.index = index;
}
@Override
public String toString() {
return new Integer(index).toString();
}
}
6、测试对日期的序列化.
@Test
public void dateData() {
DateTime jodaDate = new DateTime();
//日期默认以Timestamp方式存储
Date date = new Date(jodaDate.getMillis());
String tsString = String.valueOf(jodaDate.getMillis());
assertEquals(tsString, mapper.toJson(date));
assertEquals(date, mapper.fromJson(tsString, Date.class));
}
7、 JSON字符串里只含有Bean中部分的属性,更新一个已存在Bean,只覆蓋部分的属性.
@Test
public void updateBean() {
String jsonString = "{"name":"A"}";
TestBean bean = new TestBean();
bean.setDefaultValue("Foobar");
bean = mapper.update(bean, jsonString);
assertEquals("A", bean.getName());
assertEquals("Foobar", bean.getDefaultValue());
}
8、测试父子POJO间的循环引用.
@Test
public void parentChildBean() {
//初始化对象关系,parent的Childs里含有 child1,child2, child1/child2的parent均指向parent.
ParentChildBean parent = new ParentChildBean("parent");
ParentChildBean child1 = new ParentChildBean("child1");
child1.setParent(parent);
parent.getChilds().add(child1);
ParentChildBean child2 = new ParentChildBean("child2");
child2.setParent(parent);
parent.getChilds().add(child2);
String jsonString = "{"childs":[{"name":"child1"},{"name":"child2"}],"name":"parent"}";
//打印parent的json输出,json字符串裡childs中的child1/child2都不包含到parent的屬性
assertEquals(jsonString, mapper.toJson(parent));
//注意此時如果單獨打印child1,也不會打印parent,信息將丟失。
assertEquals("{"name":"child1"}", mapper.toJson(child1));
//反向序列化时,Json已很聪明的把parent填入child1/child2中.
ParentChildBean parentResult = mapper.fromJson(jsonString, ParentChildBean.class);
assertEquals("parent", parentResult.getChilds().get(0).getParent().getName());
}
父子POJO父子POJO的演示Bean,@JsonBackReference 与 @JsonManagedReference 是关键.
public static class ParentChildBean {
private String name;
private ParentChildBean parent;
public List<ParentChildBean> childs = Lists.newArrayList();
public ParentChildBean() {
}
public ParentChildBean(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
//注意getter與setter都要添加annotation
@JsonBackReference
public ParentChildBean getParent() {
return parent;
}
@JsonBackReference
public void setParent(ParentChildBean parent) {
this.parent = parent;
}
@JsonManagedReference
public List<ParentChildBean> getChilds() {
return childs;
}
@JsonManagedReference
public void setChilds(List<ParentChildBean> childs) {
this.childs = childs;
}
}
9、測試可擴展Bean,會自動的把確定的屬性放入固定的成員變量, 其他屬性放到一个类型为Map的成员变量裡,能很好的支持Bean版本升级时固定属性的变动.
@Test
public void extensibleBean() {
//一个没有区分是变量还是Map的普通JSON字符串.
String jsonString = "{"name" : "Foobar","age" : 37,"occupation" : "coder man"}";
ExtensibleBean extensibleBean = mapper.fromJson(jsonString, ExtensibleBean.class);
assertEquals("Foobar", extensibleBean.getName());
assertEquals(null, extensibleBean.getProperties().get("name"));
assertEquals("coder man", extensibleBean.getProperties().get("occupation"));
}
演示用的可擴展Bean.@JsonAnySetter与@JsonAnyGetter是关键.
public static class ExtensibleBean {
private String name; // we always have name
private HashMap<String, String> properties = Maps.newHashMap();
public ExtensibleBean() {
}
@JsonAnySetter
public void add(String key, String value) {
properties.put(key, value);
}
@JsonAnyGetter
public Map<String, String> getProperties() {
return properties;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
10、測試序列化Bean时使用不同的View序列化不同的属性组, 及@JsonIgnore標註的屬性.
@Test
public void viewBean() throws JsonGenerationException, JsonMappingException, IOException {
ViewBean viewBean = new ViewBean();
viewBean.setName("Foo");
viewBean.setAge(16);
viewBean.setOtherValue("others");
viewBean.setIgnoreValue("ignored");
ObjectWriter publicWriter = mapper.getMapper().writerWithView(Views.Public.class);
assertEquals("{"otherValue":"others","name":"Foo"}", publicWriter.writeValueAsString(viewBean));
ObjectWriter internalWriter = mapper.getMapper().writerWithView(Views.Internal.class);
assertEquals("{"age":16,"otherValue":"others"}", internalWriter.writeValueAsString(viewBean));
//設置默認是否顯示沒有用@Json定義的屬性
JsonMapper newMapper = JsonMapper.buildNormalMapper();
newMapper.getMapper().configure(SerializationConfig.Feature.DEFAULT_VIEW_INCLUSION, false);
publicWriter = newMapper.getMapper().writerWithView(Views.Public.class);
assertEquals("{"name":"Foo"}", publicWriter.writeValueAsString(viewBean));
}
public static class Views {
static class Public {
}
static class Internal {
}
}
演示序列化不同View不同属性的Bean.
public static class ViewBean {
private String name;
private int age;
private String otherValue;
private String ignoreValue;
@JsonView(Views.Public.class)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@JsonView(Views.Internal.class)
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getOtherValue() {
return otherValue;
}
public void setOtherValue(String otherValue) {
this.otherValue = otherValue;
}
@JsonIgnore
public String getIgnoreValue() {
return ignoreValue;
}
public void setIgnoreValue(String ignoreValue) {
this.ignoreValue = ignoreValue;
}
}
11、 测试自定义转换器
@Test
public void customConverter() {
JsonMapper newMapper = JsonMapper.buildNonNullMapper();
SimpleModule testModule = new SimpleModule("MyModule", new Version(1, 0, 0, null));
testModule.addSerializer(new MoneySerializer()); // assuming serializer declares correct class to bind to
testModule.addDeserializer(Money.class, new MoneyDeserializer());
newMapper.getMapper().registerModule(testModule);
Money money = new Money(1.2);
String jsonString = newMapper.toJson(money);
assertEquals(""1.2"", jsonString);
Money resultMoney = newMapper.fromJson(jsonString, Money.class);
assertEquals(new Double(1.2), resultMoney.value);
}
public class MoneySerializer extends SerializerBase<Money> {
public MoneySerializer() {
super(Money.class);
}
public void serialize(Money value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
JsonProcessingException {
jgen.writeString(value.toString());
}
}
public class MoneyDeserializer extends StdDeserializer<Money> {
public MoneyDeserializer() {
super(Money.class);
}
@Override
public Money deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException,
JsonProcessingException {
return Money.valueOf(jp.getText());
}
}
public static class Money {
private Double value;
public Money(Double value) {
this.value = value;
}
public static Money valueOf(String value) {
Double srcValue = Double.valueOf(value);
return new Money(srcValue);
}
public String toString() {
return value.toString();
}
}
12、测试修改属性名策略
@Test
public void customPropertyNameing() throws JsonMappingException {
TestBean bean = new TestBean("foo");
bean.setDefaultValue("bar");
JsonMapper newMapper = JsonMapper.buildNonNullMapper();
newMapper.getMapper().setPropertyNamingStrategy(new LowerCaseNaming());
String jsonpString = newMapper.toJson(bean);
assertEquals("{"name":"foo","defaultvalue":"bar"}", jsonpString);
}
public static class LowerCaseNaming extends PropertyNamingStrategy {
@Override
public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName) {
return defaultName.toLowerCase();
}
}
13、 測試輸出jsonp格式內容.
@Test
public void jsonp() {
TestBean bean = new TestBean("foo");
String jsonpString = mapper.toJsonP("callback", bean);
assertEquals("callback({"name":"foo"})", jsonpString);
}
演示Bean, 主要演示不同風格的Mapper對Null值,初始化後沒改變過的屬性值的處理.
public static class TestBean {
private String name;
private String defaultValue = "hello"; //默认值没被修改过的属性,可能会不序列化
private String nullValue = null; //空值的据行,可能会不序列化
public TestBean() {
}
public TestBean(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDefaultValue() {
return defaultValue;
}
public void setDefaultValue(String defaultValue) {
this.defaultValue = defaultValue;
}
public String getNullValue() {
return nullValue;
}
public void setNullValue(String nullValue) {
this.nullValue = nullValue;
}
@Override
public String toString() {
return "TestBean [defaultValue=" + defaultValue + ", name=" + name + ", nullValue=" + nullValue + "]";
}
}
}
<?xml version="1.0"?> <!-- project:根标签 xsi:schemaLocation:指定了 XML 模式文件的位置,用于验证 POM 文件的结构。 xmlns:指定了 POM 文件使用的 XML 命名空间为 http://maven.apache.org/POM/4.0.0。 xmlns:xsi:指定了 XML 模式实例的命名空间。 --> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <!-- 指定了 POM 模型的版本,目前 Maven 项目通常使用的是 4.0.0。 --> <modelVersion>4.0.0</modelVersion> <!-- 定义了该项目的父项目信息,继承父项目的配置可以避免重复配置。 --> <parent> <!-- 父项目的组标识,用于唯一标识项目所属的组织或团队。 --> <groupId>com.axatp</groupId> <!-- 父项目的项目标识,用于唯一标识项目的名称。 --> <artifactId>axatp-parent</artifactId> <!-- 父项目的版本号。 --> <version>0.0.2</version> <!-- 指定父项目 POM 文件的相对路径,这里表示父项目 POM 文件在当前项目的上一级目录的 axatp-parent 目录下。 --> <relativePath>../axatp-parent</relativePath> </parent> <!-- 当前项目的项目标识,用于唯一标识该项目。 --> <artifactId>ereporting</artifactId> <!-- 当前项目的版本号,-SNAPSHOT 表示这是一个快照版本,通常用于开发阶段。 --> <version>0.0.1-SNAPSHOT</version> <!-- 指定项目的打方式,这里是 war,表示该项目将被打成 Web 应用程序归档文件。 --> <packaging>war</packaging> <!-- 项目的名称,通常用于显示在 Maven 构建的日志和报告中。 --> <name>ereporting</name> <!-- 项目的主页 URL,通常指向项目的官方网站或文档页面。 --> <url>http://maven.apache.org</url> <properties> <!-- 编译环境版本 --> <compile.version>1.8</compile.version> <!-- Spring核心版本 --> <spring.version>5.3.26</spring.version> <!-- Spring Session版本 --> <spring.session.version>1.3.0.RELEASE</spring.session.version> <!-- Spring Session + Redis版本 --> <spring.session.data.redis.version>1.3.0.RELEASE</spring.session.data.redis.version> <!-- Log4j日志版本 --> <log4j.version>2.20.0</log4j.version> </properties> <dependencies> <!-- 添加spring依赖 --> <!--一、 Spring Framework 核心模块 --> <dependency> <groupId>${spring.groupId}</groupId> <!-- IoC 容器核心,提供依赖注入(DI)和事件驱动支持。 --> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- 基础工具库,含核心工具类和资源加载。 --> <artifactId>spring-core</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- Bean 工厂支持,管理 Java 对象的生命周期和配置。 --> <artifactId>spring-beans</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- AOP 支持,提供面向切面编程(如事务管理、日志拦截)。 --> <artifactId>spring-aop</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- ORM 集成,支持 Hibernate/JPA 等持久层框架。 --> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- 扩展工具,如缓存(EhCache)、邮件(JavaMail)、任务调度(TaskExecutor)。 --> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>${spring.groupId}</groupId> <!-- MVC 框架,用于构建 Web 应用(控制器、视图解析、RESTful 支持)。 --> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <!-- 二、 Spring Security 安全框架 --> <dependency> <groupId>${spring.groupId}.security</groupId> <!-- 安全核心,提供认证(Authentication)和授权(Authorization)基础功能。 --> <artifactId>spring-security-core</artifactId> <version>3.2.9.RELEASE</version> </dependency> <dependency> <groupId>${spring.groupId}.security</groupId> <!-- Web 安全支持,过滤链(FilterChain)、URL 权限控制。 --> <artifactId>spring-security-web</artifactId> <version>3.2.9.RELEASE</version> </dependency> <dependency> <groupId>${spring.groupId}.security</groupId> <!-- 配置命名空间,支持 XML 和注解配置(如 @EnableWebSecurity)。 --> <artifactId>spring-security-config</artifactId> <version>3.2.9.RELEASE</version> </dependency> <dependency> <groupId>${spring.groupId}.security</groupId> <!-- JSP 标签库,用于页面中控制权限显示(如 <sec:authorize>)。 --> <artifactId>spring-security-taglibs</artifactId> <version>3.2.9.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <!-- Web 安全支持,过滤链(FilterChain)、URL 权限控制。 --> <artifactId>spring-security-web</artifactId> <version>3.2.9.RELEASE</version> </dependency> <!-- 三、Wicket JSR-303 验证支持库 --> <dependency> <groupId>org.wicketstuff</groupId> <artifactId>jsr303</artifactId> <!-- 作用:为Apache Wicket框架添加JSR-303 Bean Validation支持 典型场景:在Wicket模型对象中使用@NotNull/@Size等注解进行表单验证 版本说明:版本号通常由父POM或dependencyManagement统一管理 --> <exclusions> <!-- 排除组:声明需要排除的传递性依赖(解决冲突/替换实现) --> <exclusion> <!-- 排除javax.validation:validation-api 原因:避免与项目中其他验证API(如Hibernate Validator)冲突 替代方案:显式引入jakarta.validation-api 3.0.2+ --> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> </exclusion> <exclusion> <!-- 排除log4j 1.x 原因:Log4j 1.x已停止维护且存在安全漏洞(CVE-2019-17571) 替代方案:使用Log4j 2.x或Logback --> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <!-- 排除slf4j-log4j12桥接器 原因:这是SLF4J与Log4j 1.x的桥接,排除后需绑定其他日志实现 替代方案:使用logback-classic或log4j-slf4j-impl --> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <!-- 排除传递性slf4j-api 原因:避免多版本冲突,应由项目统一管理SLF4J版本 建议:在dependencyManagement中显式声明slf4j-api版本 --> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> </exclusions> </dependency> <!-- 四、Jackson JSON 处理库(核心三件套) --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <!-- Jackson 核心流式解析器,提供高性能的JSON读写能力 --> <artifactId>jackson-core</artifactId> <version>2.11.0</version><!-- 注意:此版本存在漏洞,建议升级到2.15.3+ --> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <!-- Jackson 数据绑定模块,实现Java对象与JSON的相互--> <artifactId>jackson-databind</artifactId> <version>2.11.0</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <!-- Jackson 注解模块,支持通过注解控制序列化行为 --> <artifactId>jackson-annotations</artifactId> <version>2.11.0</version><!-- 通常与其他模块版本保持一致 --> </dependency> <!--五、JavaMail 邮件客户端 --> <dependency> <groupId>com.sun.mail</groupId> <!-- JavaMail API 实现,用于发送/接收邮件(SMTP/POP3/IMAP) --> <artifactId>javax.mail</artifactId> <version>1.6.1</version> </dependency> <!-- 六、Ehcache 缓存框架 --> <dependency> <groupId>net.sf.ehcache</groupId> <!-- Ehcache 核心库,提供内存+磁盘缓存管理 --> <artifactId>ehcache-core</artifactId> </dependency> <dependency> <groupId>com.googlecode.ehcache-spring-annotations</groupId> <!-- Ehcache 与 Spring 集成的注解支持 --> <artifactId>ehcache-spring-annotations</artifactId> <version>1.2.0</version> </dependency> <!-- 七、MyBatis 核心库 --> <dependency> <groupId>org.mybatis</groupId> <!-- MyBatis 核心ORM框架,提供SQL映射和数据库访问能力 --> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <!-- 八、MyBatis-Spring 整合 --> <dependency> <groupId>org.mybatis</groupId> <!-- MyBatis与Spring框架的桥接库,实现Spring事务管理 --> <artifactId>mybatis-spring</artifactId> <version>1.3.1</version><!-- 需与MyBatis主版本匹配,建议升级到2.1.1+ --> </dependency> <!-- 九、MyBatis 分页插件 --> <dependency> <groupId>com.github.miemiedev</groupId> <!-- 第三方分页插件,提供物理分页和排序功能 --> <artifactId>mybatis-paginator</artifactId> <version>1.2.9</version><!-- 已停止维护,建议改用PageHelper --> </dependency> <!-- 十、 Hibernate Validator(Bean验证) --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.2.0.Final</version> </dependency> <!-- 数据库依赖 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc8</artifactId> <version>19.15.0.0.0</version> </dependency> <!--和上边这个ojdbc8一起的不然字符集乱码--> <dependency> <groupId>cn.easyproject</groupId> <artifactId>orai18n</artifactId> <version>12.1.0.2.0</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.0.16</version> </dependency> <!-- 支持注入的,如注入Resource --> <dependency> <groupId>com.kenai.nbpwr</groupId> <artifactId>javax-inject</artifactId> </dependency> <!-- dbcp数据源 --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> </dependency> <!-- um系统依赖 --> <!-- <dependency> <groupId>com.axatp</groupId> <artifactId>um-client</artifactId> <version>1.0.4.RELEASE</version> </dependency>--> <dependency> <groupId>cn.axa</groupId> <artifactId>idac-client</artifactId> <version>1.0.1</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </exclusion> <exclusion> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId> </exclusion> </exclusions> </dependency> <!-- json --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.83</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> </dependency> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> </dependency> <dependency> <groupId>jsptags</groupId> <artifactId>pager-taglib</artifactId> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>tpfa</artifactId> <version>1.3.0.0</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>org.jdom</groupId> <artifactId>jdom</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <!--用于与sfl4j保持桥接--> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>${log4j.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-web</artifactId> <version>${log4j.version}</version> </dependency> <!-- disconf configuration begin <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.3.6</version> <exclusions> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> </exclusions> </dependency> --> <dependency> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> <version>3.2.17</version> </dependency> <!--nacos--> <!-- <dependency>--> <!-- <groupId>org.apache.dubbo</groupId>--> <!-- <artifactId>dubbo-registry-nacos</artifactId>--> <!-- <version>2.7.7</version>--> <!-- </dependency>--> <!-- <dependency>--> <!-- <groupId>com.alibaba.nacos</groupId>--> <!-- <artifactId>nacos-client</artifactId>--> <!-- <version>1.2.1</version>--> <!-- </dependency>--> <!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-framework</artifactId> <version>2.12.0</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.curator/curator-x-discovery-server --> <dependency> <groupId>org.apache.curator</groupId> <artifactId>curator-x-discovery-server</artifactId> <version>2.12.0</version> </dependency> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.105.Final</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper --> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.9.2</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <artifactId>slf4j-log4j12</artifactId> <groupId>org.slf4j</groupId> </exclusion> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId> <version>0.9.9-RC1</version> </dependency> <dependency> <groupId>org.javassist</groupId> <artifactId>javassist</artifactId> <version>3.18.2-GA</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> <version>4.4.3</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.1</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpmime</artifactId> <version>4.5.9</version> </dependency> <!-- <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>r09</version> </dependency> --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.2.4</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>18.0</version> </dependency> <dependency> <groupId>com.baidu.disconf</groupId> <artifactId>disconf-core</artifactId> <version>2.6.36</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>disconf-client</artifactId> <version>2.6.36.5</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjtools</artifactId> <version>1.7.4</version> </dependency> <!-- disconf configuration end --> <!-- jasypt begin --> <dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt</artifactId> <version>1.9.2</version> </dependency> <dependency> <groupId>org.jasypt</groupId> <artifactId>jasypt-spring3</artifactId> <version>1.9.2</version> </dependency> <!-- jasypt end --> <dependency> <groupId>bsh</groupId> <artifactId>bsh</artifactId> <version>2.0b4</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity</artifactId> <version>1.7</version> </dependency> <dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-tools</artifactId> <version>2.0</version> <exclusions> <exclusion> <groupId>org.apache.struts</groupId> <artifactId>struts-core</artifactId> </exclusion> <exclusion> <groupId>org.apache.struts</groupId> <artifactId>struts-taglib</artifactId> </exclusion> <exclusion> <groupId>org.apache.struts</groupId> <artifactId>struts-tiles</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version> </dependency> <dependency> <groupId>net.sourceforge.jexcelapi</groupId> <artifactId>jxl</artifactId> <version>2.6.12</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-api</artifactId> <version>1.2.20</version> </dependency> <dependency> <groupId>org.apache.ws.commons.axiom</groupId> <artifactId>axiom-impl</artifactId> <version>1.2.9</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb</artifactId> <version>1.7.4</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb-codegen</artifactId> <version>1.7.4</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-codegen</artifactId> <version>1.7.4</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-java2wsdl</artifactId> <version>1.7.4</version> </dependency> <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-kernel</artifactId> <version>1.7.4</version> </dependency> <dependency> <groupId>org.apache.servicemix.bundles</groupId> <artifactId>org.apache.servicemix.bundles.commons-codec</artifactId> <version>1.3_5</version> </dependency> <dependency> <groupId>stax</groupId> <artifactId>stax-api</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>wsdl4j</groupId> <artifactId>wsdl4j</artifactId> <version>1.6.3</version> </dependency> <!-- <dependency> --> <!-- <groupId>woodstox</groupId> --> <!-- <artifactId>wstx-asl</artifactId> --> <!-- <version>3.2.7</version> --> <!-- </dependency> --> <dependency> <groupId>org.apache.ws.xmlschema</groupId> <artifactId>xmlschema-core</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.2</version> </dependency> <dependency> <groupId>xml-apis</groupId> <artifactId>xml-apis</artifactId> <version>1.3.04</version> </dependency> <dependency> <groupId>xalan</groupId> <artifactId>xalan</artifactId> <version>2.7.1</version> </dependency> <dependency> <groupId>xerces</groupId> <artifactId>xercesImpl</artifactId> <version>2.9.1</version> </dependency> <dependency> <groupId>xml-apis</groupId> <artifactId>xml-apis-ext</artifactId> <version>1.3.04</version> </dependency> <dependency> <groupId>org.plutext</groupId> <artifactId>jaxb-xslfo</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>org.apache.avalon.framework</groupId> <artifactId>avalon-framework-api</artifactId> <version>4.3.1</version> </dependency> <dependency> <groupId>org.apache.avalon.framework</groupId> <artifactId>avalon-framework-impl</artifactId> <version>4.3.1</version> </dependency> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>xmlgraphics-commons</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>org.eclipse.birt.runtime.3_7_1</groupId> <artifactId>org.apache.xml.serializer</artifactId> <version>2.7.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>fop</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>fontbox</artifactId> <version>1.8.5</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>batik-all</artifactId> <version>1.8</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency> <dependency> <groupId>javax.ejb</groupId> <artifactId>ejb-api</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>eu.limetri.platform</groupId> <artifactId>platform-client</artifactId> <version>0.7</version> </dependency> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-log4j-2.x</artifactId> <version>9.1.0</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>party</artifactId> <version>4.0.0-RELEASE</version> <exclusions> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo</artifactId> </exclusion> <exclusion> <groupId>org.apache.curator</groupId> <artifactId>curator-recipes</artifactId> </exclusion> <exclusion> <groupId>org.apache.dubbo</groupId> <artifactId>dubbo-registry-nacos</artifactId> </exclusion> <exclusion> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </exclusion> <exclusion> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-log4j-1.x-activation</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <groupId>com.axatp</groupId> <artifactId>disconf-client</artifactId> </exclusion> <exclusion> <groupId>com.axatp</groupId> <artifactId>um-client</artifactId> </exclusion> <exclusion> <groupId>com.baidu.disconf</groupId> <artifactId>disconf-core</artifactId> </exclusion> <exclusion> <groupId>com.baomidou</groupId> <artifactId>kisso</artifactId> </exclusion> <exclusion> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> </exclusion> <exclusion> <groupId>com.axatp</groupId> <artifactId>tpfa</artifactId> </exclusion> <exclusion> <groupId>com.axatp</groupId> <artifactId>sso-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>ruleengine-client</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.17</version> <exclusions> <exclusion> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>ike</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>non-motor-net-client</artifactId> <version>0.0.0.3</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>auto-vehicle</artifactId> <version>0.0.0.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>schedule</artifactId> <version>0.0.0.1</version> </dependency> <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</artifactId> <version>3.6</version> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency> <dependency> <groupId>com.ibatis</groupId> <artifactId>ibatis</artifactId> <version>2.3.2</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.9</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.1.5</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>property_client</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>itext</groupId> <artifactId>itext</artifactId> <version>1.3.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>healthInsurance</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-scratchpad</artifactId> <version>3.17</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>commonHttpService</artifactId> <version>1.0.3</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>common-utils</artifactId> <version>0.0.2</version> </dependency> <dependency> <groupId>cn.axa</groupId> <artifactId>common-utils</artifactId> <version>1.4.0</version> <exclusions> <exclusion> <artifactId>log4j-core</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> <exclusion> <artifactId>log4j-api</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> <exclusion> <artifactId>log4j-slf4j-impl</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> <exclusion> <artifactId>log4j-web</artifactId> <groupId>org.apache.logging.log4j</groupId> </exclusion> <exclusion> <artifactId>disconf-client</artifactId> <groupId>com.axatp</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>5.1.5</version> </dependency> <dependency> <groupId>com.github.jsqlparser</groupId> <artifactId>jsqlparser</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>pay-client</artifactId> <version>0.0.5</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.0.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>e-nonmotor-print</artifactId> <version>1.6.6</version> <exclusions> <exclusion> <groupId>com.axatp</groupId> <artifactId>enonmotor-party</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>e-nonmotor-client</artifactId> <version>0.0.8</version> </dependency> <!-- <dependency> <groupId>com.axatp</groupId> <artifactId>e-nonmotor-print</artifactId> <version>1.0.2</version> </dependency> --> <!--hikariCP连接池 --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>4.0.3</version> </dependency> <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-log4j-1.x-activation</artifactId> <version>7.0.0</version> </dependency> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>plclaim-client</artifactId> <version>0.0.6</version> </dependency> <!-- mq--> <dependency> <groupId>com.axatp</groupId> <artifactId>common-mq</artifactId> <version>0.0.6</version> <exclusions> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> <exclusion> <artifactId>rocketmq-logback-classic</artifactId> <groupId>io.github.aliyunmq</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.axatp</groupId> <artifactId>auto-mid-client</artifactId> <version>0.0.1</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>${spring.session.version}</version> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>${spring.session.data.redis.version}</version> </dependency> <!-- ENONMOTOR-R4103 okhttp上传 解决下载文件名为:______ .? --> <dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId> <version>4.9.3</version> </dependency> <!--Lombok依赖--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> </dependency> <!--easyexcel依赖--> <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</artifactId> <version>2.2.3</version> <exclusions> <exclusion> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> </exclusion> <exclusion> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>cn.axa</groupId> <artifactId>common-utils</artifactId> <version>1.7.0-SNAPSHOT</version> </dependency> <!--ENONMOTOR-R9432 邮件统一对接-商业险承保系统--> <dependency> <groupId>com.axatp</groupId> <artifactId>linkmonitor-bg</artifactId> <version>1.0.2</version> </dependency> <!--ENONMOTOR-R10065 根据销管系统账号有效性判断账号是否有效 销管jar--> <dependency> <groupId>com.axatp</groupId> <artifactId>sales</artifactId> <version>1.9.4</version> </dependency> </dependencies> <build> <finalName>ereporting</finalName> <!-- maven war 插件 --> <plugins> <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.2.0</version> <!-- 排除某个文件夹下所有的文件 --> <configuration> <packagingExcludes>WEB-INF/classes/com/axatp/enonmotor/sessionFixed/*.*</packagingExcludes> <packagingExcludes>WEB-INF/classes/log4j.properties</packagingExcludes> <!-- oracle数据库升级,排除父pom文件里的ojdbc7 jar --> <packagingExcludes>WEB-INF/lib/ojdbc7-*.jar</packagingExcludes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> </plugins> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> <resource> <directory>src/main/resources</directory> </resource> </resources> </build> </project>这个都给我用注释的方式给我解释下
10-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值