forked from plusone/plusone-commons
Compare commits
3 Commits
feat/jacks
...
dev
Author | SHA1 | Date | |
---|---|---|---|
f9b4c3c58c | |||
3ca2ec3be0 | |||
f83bb55fd6 |
@ -71,17 +71,7 @@
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-params</artifactId>
|
||||
<artifactId>junit-jupiter</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
|
@ -33,43 +33,49 @@ package xyz.zhouxy.plusone.commons.exception.system;
|
||||
*/
|
||||
public final class DataOperationResultException extends SysException {
|
||||
|
||||
private static final String DEFAULT_MSG = "数据操作的结果不符合预期";
|
||||
private final long expected;
|
||||
private final long actual;
|
||||
|
||||
/**
|
||||
* 使用默认 message 构造新的 {@code DataOperationResultException}。
|
||||
* {@code cause} 未初始化,后面可能会通过调用 {@link #initCause} 进行初始化。
|
||||
* 创建一个 {@code DataOperationResultException} 对象
|
||||
*
|
||||
* @param expected 预期影响的行数
|
||||
* @param actual 实际影响的行数
|
||||
*/
|
||||
public DataOperationResultException() {
|
||||
super(DEFAULT_MSG);
|
||||
public DataOperationResultException(long expected, long actual) {
|
||||
super(String.format("The number of rows affected is expected to be %d, but is: %d", expected, actual));
|
||||
this.expected = expected;
|
||||
this.actual = actual;
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用指定的 {@code message} 构造新的 {@code DataOperationResultException}。
|
||||
* {@code cause} 未初始化,后面可能会通过调用 {@link #initCause} 进行初始化。
|
||||
* 创建一个 {@code DataOperationResultException} 对象
|
||||
*
|
||||
* @param message 异常信息
|
||||
* @param expected 预期影响的行数
|
||||
* @param actual 实际影响的行数
|
||||
* @param message 错误信息
|
||||
*/
|
||||
public DataOperationResultException(String message) {
|
||||
public DataOperationResultException(long expected, long actual, String message) {
|
||||
super(message);
|
||||
this.expected = expected;
|
||||
this.actual = actual;
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用指定的 {@code cause} 构造新的 {@code DataOperationResultException}。
|
||||
* {@code message} 为 (cause==null ? null : cause.toString())。
|
||||
* 预期影响的行数
|
||||
*
|
||||
* @param cause 包装的异常
|
||||
* @return the expected
|
||||
*/
|
||||
public DataOperationResultException(Throwable cause) {
|
||||
super(cause);
|
||||
public long getExpected() {
|
||||
return expected;
|
||||
}
|
||||
|
||||
/**
|
||||
* 使用指定的 {@code message} 和 {@code cause} 构造新的 {@code DataOperationResultException}。
|
||||
* 实际影响的行数
|
||||
*
|
||||
* @param message 异常信息
|
||||
* @param cause 包装的异常
|
||||
* @return the actual
|
||||
*/
|
||||
public DataOperationResultException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
public long getActual() {
|
||||
return actual;
|
||||
}
|
||||
}
|
||||
|
@ -334,7 +334,7 @@ public class AssertTools {
|
||||
String errorMessageTemplate, Object... errorMessageArgs)
|
||||
throws DataNotExistsException {
|
||||
checkCondition(obj != null,
|
||||
() -> new DataNotExistsException(String.format(errorMessageTemplate, errorMessageArgs)));
|
||||
() -> new DataNotExistsException(String.format(errorMessageTemplate, errorMessageArgs)));
|
||||
return obj;
|
||||
}
|
||||
|
||||
@ -411,141 +411,154 @@ public class AssertTools {
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
*/
|
||||
public static void checkAffectedRows(int expectedValue, int result) {
|
||||
checkAffectedRows(expectedValue, result,
|
||||
"The number of rows affected is expected to be %d, but is: %d", expectedValue, result);
|
||||
public static void checkAffectedRows(int expected, int actualRowCount) {
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessage 异常信息
|
||||
*/
|
||||
public static void checkAffectedRows(int expectedValue, int result, @Nullable String errorMessage) {
|
||||
checkCondition(expectedValue == result, () -> new DataOperationResultException(errorMessage));
|
||||
public static void checkAffectedRows(int expected, int actualRowCount,
|
||||
@Nullable String errorMessage) {
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount, errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageSupplier 异常信息
|
||||
*/
|
||||
public static void checkAffectedRows(int expectedValue, int result,
|
||||
public static void checkAffectedRows(int expected, int actualRowCount,
|
||||
Supplier<String> errorMessageSupplier) {
|
||||
checkCondition(expectedValue == result,
|
||||
() -> new DataOperationResultException(errorMessageSupplier.get()));
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount, errorMessageSupplier.get());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageTemplate 异常信息模板
|
||||
* @param errorMessageArgs 异常信息参数
|
||||
*/
|
||||
public static void checkAffectedRows(int expectedValue, int result,
|
||||
public static void checkAffectedRows(int expected, int actualRowCount,
|
||||
String errorMessageTemplate, Object... errorMessageArgs) {
|
||||
checkCondition(expectedValue == result,
|
||||
() -> new DataOperationResultException(String.format(errorMessageTemplate, errorMessageArgs)));
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount,
|
||||
String.format(errorMessageTemplate, errorMessageArgs));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
*/
|
||||
public static void checkAffectedRows(long expectedValue, long result) {
|
||||
checkAffectedRows(expectedValue, result,
|
||||
"The number of rows affected is expected to be %d, but is: %d", expectedValue, result);
|
||||
public static void checkAffectedRows(long expected, long actualRowCount) {
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessage 异常信息
|
||||
*/
|
||||
public static void checkAffectedRows(long expectedValue, long result, @Nullable String errorMessage) {
|
||||
checkCondition(expectedValue == result, () -> new DataOperationResultException(errorMessage));
|
||||
public static void checkAffectedRows(long expected, long actualRowCount,
|
||||
@Nullable String errorMessage) {
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount, errorMessage);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageSupplier 异常信息
|
||||
*/
|
||||
public static void checkAffectedRows(long expectedValue, long result,
|
||||
public static void checkAffectedRows(long expected, long actualRowCount,
|
||||
Supplier<String> errorMessageSupplier) {
|
||||
checkCondition(expectedValue == result,
|
||||
() -> new DataOperationResultException(errorMessageSupplier.get()));
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount, errorMessageSupplier.get());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量与预计不同时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param expectedValue 预计的数量
|
||||
* @param result 实际影响的数据量
|
||||
* @param expected 预期影响的行数
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageTemplate 异常信息模板
|
||||
* @param errorMessageArgs 异常信息参数
|
||||
*/
|
||||
public static void checkAffectedRows(long expectedValue, long result,
|
||||
public static void checkAffectedRows(long expected, long actualRowCount,
|
||||
String errorMessageTemplate, Object... errorMessageArgs) {
|
||||
checkCondition(expectedValue == result,
|
||||
() -> new DataOperationResultException(String.format(errorMessageTemplate, errorMessageArgs)));
|
||||
if (expected != actualRowCount) {
|
||||
throw new DataOperationResultException(expected, actualRowCount,
|
||||
String.format(errorMessageTemplate, errorMessageArgs));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
*/
|
||||
public static void checkAffectedOneRow(int result) {
|
||||
checkAffectedRows(1, result,
|
||||
() -> "The number of rows affected is expected to be 1, but is: " + result);
|
||||
public static void checkAffectedOneRow(int actualRowCount) {
|
||||
checkAffectedRows(1, actualRowCount);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessage 异常信息
|
||||
*/
|
||||
public static void checkAffectedOneRow(int result, String errorMessage) {
|
||||
checkAffectedRows(1, result, errorMessage);
|
||||
public static void checkAffectedOneRow(int actualRowCount, String errorMessage) {
|
||||
checkAffectedRows(1, actualRowCount, errorMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageSupplier 异常信息
|
||||
*/
|
||||
public static void checkAffectedOneRow(int result, Supplier<String> errorMessageSupplier) {
|
||||
checkAffectedRows(1, result, errorMessageSupplier);
|
||||
public static void checkAffectedOneRow(int actualRowCount, Supplier<String> errorMessageSupplier) {
|
||||
checkAffectedRows(1, actualRowCount, errorMessageSupplier);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageTemplate 异常信息模板
|
||||
* @param errorMessageArgs 异常信息参数
|
||||
*/
|
||||
public static void checkAffectedOneRow(int result,
|
||||
public static void checkAffectedOneRow(int actualRowCount,
|
||||
String errorMessageTemplate, Object... errorMessageArgs) {
|
||||
checkAffectedRows(1, result, errorMessageTemplate, errorMessageArgs);
|
||||
checkAffectedRows(1, actualRowCount, errorMessageTemplate, errorMessageArgs);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -554,40 +567,39 @@ public class AssertTools {
|
||||
* @param result 实际影响的数据量
|
||||
*/
|
||||
public static void checkAffectedOneRow(long result) {
|
||||
checkAffectedRows(1L, result,
|
||||
() -> "The number of rows affected is expected to be 1, but is: " + result);
|
||||
checkAffectedRows(1L, result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessage 异常信息
|
||||
*/
|
||||
public static void checkAffectedOneRow(long result, String errorMessage) {
|
||||
checkAffectedRows(1L, result, errorMessage);
|
||||
public static void checkAffectedOneRow(long actualRowCount, String errorMessage) {
|
||||
checkAffectedRows(1L, actualRowCount, errorMessage);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageSupplier 异常信息
|
||||
*/
|
||||
public static void checkAffectedOneRow(long result, Supplier<String> errorMessageSupplier) {
|
||||
checkAffectedRows(1L, result, errorMessageSupplier);
|
||||
public static void checkAffectedOneRow(long actualRowCount, Supplier<String> errorMessageSupplier) {
|
||||
checkAffectedRows(1L, actualRowCount, errorMessageSupplier);
|
||||
}
|
||||
|
||||
/**
|
||||
* 当影响的数据量不为 1 时抛出 {@link DataOperationResultException}。
|
||||
*
|
||||
* @param result 实际影响的数据量
|
||||
* @param actualRowCount 实际影响的行数
|
||||
* @param errorMessageTemplate 异常信息模板
|
||||
* @param errorMessageArgs 异常信息参数
|
||||
*/
|
||||
public static void checkAffectedOneRow(long result,
|
||||
public static void checkAffectedOneRow(long actualRowCount,
|
||||
String errorMessageTemplate, Object... errorMessageArgs) {
|
||||
checkAffectedRows(1L, result, errorMessageTemplate, errorMessageArgs);
|
||||
checkAffectedRows(1L, actualRowCount, errorMessageTemplate, errorMessageArgs);
|
||||
}
|
||||
|
||||
// ================================
|
||||
|
@ -220,6 +220,23 @@ public class StringTools {
|
||||
return String.valueOf(charArray);
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换为带引号的字符串
|
||||
*
|
||||
* @param value 值
|
||||
* @return 带引号的字符串
|
||||
* @since 1.1.0
|
||||
*/
|
||||
public static String toQuotedString(@Nullable String value) {
|
||||
if (value == null) {
|
||||
return "null";
|
||||
}
|
||||
if (value.isEmpty()) {
|
||||
return "\"\"";
|
||||
}
|
||||
return "\"" + value + "\"";
|
||||
}
|
||||
|
||||
private StringTools() {
|
||||
throw new IllegalStateException("Utility class");
|
||||
}
|
||||
|
@ -370,6 +370,38 @@ class StringToolsTests {
|
||||
// #endregion - desensitize
|
||||
// ================================
|
||||
|
||||
// ================================
|
||||
// #region - toQuotedString
|
||||
// ================================
|
||||
|
||||
@Test
|
||||
void toQuotedString_NullInput_ReturnsNullStr() {
|
||||
String result = StringTools.toQuotedString(null);
|
||||
assertEquals("null", result);
|
||||
|
||||
assertEquals("The value is null.", String.format("The value is %s.", result));
|
||||
}
|
||||
|
||||
@Test
|
||||
void toQuotedString_EmptyString_ReturnsEmptyString() {
|
||||
String result = StringTools.toQuotedString("");
|
||||
assertEquals("\"\"", result);
|
||||
|
||||
assertEquals("The value is \"\".", String.format("The value is %s.", result));
|
||||
}
|
||||
|
||||
@Test
|
||||
void toQuotedString_ValidInput_ReturnsQuotedString() {
|
||||
String result = StringTools.toQuotedString("Hello World");
|
||||
assertEquals("\"Hello World\"", result);
|
||||
|
||||
assertEquals("The value is \"Hello World\".", String.format("The value is %s.", result));
|
||||
}
|
||||
|
||||
// ================================
|
||||
// #endregion - toQuotedString
|
||||
// ================================
|
||||
|
||||
@Test
|
||||
void test_constructor_isNotAccessible_ThrowsIllegalStateException() {
|
||||
Constructor<?>[] constructors = StringTools.class.getDeclaredConstructors();
|
||||
|
@ -209,20 +209,12 @@
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-api</artifactId>
|
||||
<groupId>org.junit</groupId>
|
||||
<artifactId>junit-bom</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-engine</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.junit.jupiter</groupId>
|
||||
<artifactId>junit-jupiter-params</artifactId>
|
||||
<version>${junit.version}</version>
|
||||
</dependency>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
|
@ -1,43 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>xyz.zhouxy.plusone</groupId>
|
||||
<artifactId>plusone-json</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>plusone-json-jackson</artifactId>
|
||||
|
||||
<description>
|
||||
Jackson 相关模块
|
||||
</description>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>xyz.zhouxy.plusone</groupId>
|
||||
<artifactId>plusone-commons</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<!-- Jackson -->
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.core</groupId>
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.fasterxml.jackson.datatype</groupId>
|
||||
<artifactId>jackson-datatype-jsr310</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
@ -1,39 +0,0 @@
|
||||
/*
|
||||
* Copyright 2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package xyz.zhouxy.plusone.json.jackson;
|
||||
|
||||
import com.fasterxml.jackson.databind.Module;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
|
||||
public class JacksonTools {
|
||||
|
||||
public static ObjectMapper newObjectMapperWithJavaTimeModule() {
|
||||
return newObjectMapperWithModules(new JavaTimeModule());
|
||||
}
|
||||
|
||||
public static ObjectMapper newObjectMapperWithModules(Module... modules) {
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
for (Module module : modules) {
|
||||
objectMapper.registerModule(module);
|
||||
}
|
||||
return objectMapper;
|
||||
}
|
||||
|
||||
private JacksonTools() {
|
||||
throw new IllegalStateException("Utility class");
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<parent>
|
||||
<groupId>xyz.zhouxy.plusone</groupId>
|
||||
<artifactId>plusone-parent</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<artifactId>plusone-json</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
|
||||
<modules>
|
||||
<module>plusone-json-jackson</module>
|
||||
</modules>
|
||||
|
||||
<description>
|
||||
JSON 相关模块
|
||||
</description>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<java.version>1.8</java.version>
|
||||
<maven.compiler.source>1.8</maven.compiler.source>
|
||||
<maven.compiler.target>1.8</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>xyz.zhouxy.plusone</groupId>
|
||||
<artifactId>plusone-dependencies</artifactId>
|
||||
<version>1.1.0-SNAPSHOT</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
</project>
|
Loading…
x
Reference in New Issue
Block a user