31 changed files with 618 additions and 834 deletions
@ -1,33 +1,27 @@ |
|||||
HELP.md |
# Created by .ignore support plugin (hsz.mobi) |
||||
target/ |
### Java template |
||||
!.mvn/wrapper/maven-wrapper.jar |
# Compiled class file |
||||
!**/src/main/**/target/ |
*.class |
||||
!**/src/test/**/target/ |
|
||||
|
|
||||
### STS ### |
# Log file |
||||
.apt_generated |
*.log |
||||
.classpath |
|
||||
.factorypath |
|
||||
.project |
|
||||
.settings |
|
||||
.springBeans |
|
||||
.sts4-cache |
|
||||
|
|
||||
### IntelliJ IDEA ### |
# BlueJ files |
||||
.idea |
*.ctxt |
||||
*.iws |
|
||||
*.iml |
|
||||
*.ipr |
|
||||
|
|
||||
### NetBeans ### |
# Mobile Tools for Java (J2ME) |
||||
/nbproject/private/ |
.mtj.tmp/ |
||||
/nbbuild/ |
|
||||
/dist/ |
|
||||
/nbdist/ |
|
||||
/.nb-gradle/ |
|
||||
build/ |
|
||||
!**/src/main/**/build/ |
|
||||
!**/src/test/**/build/ |
|
||||
|
|
||||
### VS Code ### |
# Package Files # |
||||
.vscode/ |
*.jar |
||||
|
*.war |
||||
|
*.nar |
||||
|
*.ear |
||||
|
*.zip |
||||
|
*.tar.gz |
||||
|
*.rar |
||||
|
|
||||
|
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml |
||||
|
hs_err_pid* |
||||
|
/.idea/ |
||||
|
/target/ |
||||
|
@ -1,3 +0,0 @@ |
|||||
# java-demo-bilibili |
|
||||
B站视频对应的代码 |
|
||||
|
|
@ -1 +0,0 @@ |
|||||
{"gender":0,"name":"李四","age":30} |
|
@ -1,5 +0,0 @@ |
|||||
{ |
|
||||
"name": "张三", |
|
||||
"age": 20, |
|
||||
"gender": 1 |
|
||||
} |
|
@ -1,5 +0,0 @@ |
|||||
## 后端自测三大要点 |
|
||||
|
|
||||
1. 可重复性 |
|
||||
2. 用例覆盖完整,重点覆盖异常场景 |
|
||||
3. 环境一致性 |
|
@ -1,316 +0,0 @@ |
|||||
#!/bin/sh |
|
||||
# ---------------------------------------------------------------------------- |
|
||||
# Licensed to the Apache Software Foundation (ASF) under one |
|
||||
# or more contributor license agreements. See the NOTICE file |
|
||||
# distributed with this work for additional information |
|
||||
# regarding copyright ownership. The ASF licenses this file |
|
||||
# to you 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. |
|
||||
# ---------------------------------------------------------------------------- |
|
||||
|
|
||||
# ---------------------------------------------------------------------------- |
|
||||
# Maven Start Up Batch script |
|
||||
# |
|
||||
# Required ENV vars: |
|
||||
# ------------------ |
|
||||
# JAVA_HOME - location of a JDK home dir |
|
||||
# |
|
||||
# Optional ENV vars |
|
||||
# ----------------- |
|
||||
# M2_HOME - location of maven2's installed home dir |
|
||||
# MAVEN_OPTS - parameters passed to the Java VM when running Maven |
|
||||
# e.g. to debug Maven itself, use |
|
||||
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |
|
||||
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files |
|
||||
# ---------------------------------------------------------------------------- |
|
||||
|
|
||||
if [ -z "$MAVEN_SKIP_RC" ] ; then |
|
||||
|
|
||||
if [ -f /usr/local/etc/mavenrc ] ; then |
|
||||
. /usr/local/etc/mavenrc |
|
||||
fi |
|
||||
|
|
||||
if [ -f /etc/mavenrc ] ; then |
|
||||
. /etc/mavenrc |
|
||||
fi |
|
||||
|
|
||||
if [ -f "$HOME/.mavenrc" ] ; then |
|
||||
. "$HOME/.mavenrc" |
|
||||
fi |
|
||||
|
|
||||
fi |
|
||||
|
|
||||
# OS specific support. $var _must_ be set to either true or false. |
|
||||
cygwin=false; |
|
||||
darwin=false; |
|
||||
mingw=false |
|
||||
case "`uname`" in |
|
||||
CYGWIN*) cygwin=true ;; |
|
||||
MINGW*) mingw=true;; |
|
||||
Darwin*) darwin=true |
|
||||
# Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home |
|
||||
# See https://developer.apple.com/library/mac/qa/qa1170/_index.html |
|
||||
if [ -z "$JAVA_HOME" ]; then |
|
||||
if [ -x "/usr/libexec/java_home" ]; then |
|
||||
export JAVA_HOME="`/usr/libexec/java_home`" |
|
||||
else |
|
||||
export JAVA_HOME="/Library/Java/Home" |
|
||||
fi |
|
||||
fi |
|
||||
;; |
|
||||
esac |
|
||||
|
|
||||
if [ -z "$JAVA_HOME" ] ; then |
|
||||
if [ -r /etc/gentoo-release ] ; then |
|
||||
JAVA_HOME=`java-config --jre-home` |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
if [ -z "$M2_HOME" ] ; then |
|
||||
## resolve links - $0 may be a link to maven's home |
|
||||
PRG="$0" |
|
||||
|
|
||||
# need this for relative symlinks |
|
||||
while [ -h "$PRG" ] ; do |
|
||||
ls=`ls -ld "$PRG"` |
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'` |
|
||||
if expr "$link" : '/.*' > /dev/null; then |
|
||||
PRG="$link" |
|
||||
else |
|
||||
PRG="`dirname "$PRG"`/$link" |
|
||||
fi |
|
||||
done |
|
||||
|
|
||||
saveddir=`pwd` |
|
||||
|
|
||||
M2_HOME=`dirname "$PRG"`/.. |
|
||||
|
|
||||
# make it fully qualified |
|
||||
M2_HOME=`cd "$M2_HOME" && pwd` |
|
||||
|
|
||||
cd "$saveddir" |
|
||||
# echo Using m2 at $M2_HOME |
|
||||
fi |
|
||||
|
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched |
|
||||
if $cygwin ; then |
|
||||
[ -n "$M2_HOME" ] && |
|
||||
M2_HOME=`cygpath --unix "$M2_HOME"` |
|
||||
[ -n "$JAVA_HOME" ] && |
|
||||
JAVA_HOME=`cygpath --unix "$JAVA_HOME"` |
|
||||
[ -n "$CLASSPATH" ] && |
|
||||
CLASSPATH=`cygpath --path --unix "$CLASSPATH"` |
|
||||
fi |
|
||||
|
|
||||
# For Mingw, ensure paths are in UNIX format before anything is touched |
|
||||
if $mingw ; then |
|
||||
[ -n "$M2_HOME" ] && |
|
||||
M2_HOME="`(cd "$M2_HOME"; pwd)`" |
|
||||
[ -n "$JAVA_HOME" ] && |
|
||||
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" |
|
||||
fi |
|
||||
|
|
||||
if [ -z "$JAVA_HOME" ]; then |
|
||||
javaExecutable="`which javac`" |
|
||||
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then |
|
||||
# readlink(1) is not available as standard on Solaris 10. |
|
||||
readLink=`which readlink` |
|
||||
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then |
|
||||
if $darwin ; then |
|
||||
javaHome="`dirname \"$javaExecutable\"`" |
|
||||
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" |
|
||||
else |
|
||||
javaExecutable="`readlink -f \"$javaExecutable\"`" |
|
||||
fi |
|
||||
javaHome="`dirname \"$javaExecutable\"`" |
|
||||
javaHome=`expr "$javaHome" : '\(.*\)/bin'` |
|
||||
JAVA_HOME="$javaHome" |
|
||||
export JAVA_HOME |
|
||||
fi |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
if [ -z "$JAVACMD" ] ; then |
|
||||
if [ -n "$JAVA_HOME" ] ; then |
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then |
|
||||
# IBM's JDK on AIX uses strange locations for the executables |
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java" |
|
||||
else |
|
||||
JAVACMD="$JAVA_HOME/bin/java" |
|
||||
fi |
|
||||
else |
|
||||
JAVACMD="`\\unset -f command; \\command -v java`" |
|
||||
fi |
|
||||
fi |
|
||||
|
|
||||
if [ ! -x "$JAVACMD" ] ; then |
|
||||
echo "Error: JAVA_HOME is not defined correctly." >&2 |
|
||||
echo " We cannot execute $JAVACMD" >&2 |
|
||||
exit 1 |
|
||||
fi |
|
||||
|
|
||||
if [ -z "$JAVA_HOME" ] ; then |
|
||||
echo "Warning: JAVA_HOME environment variable is not set." |
|
||||
fi |
|
||||
|
|
||||
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher |
|
||||
|
|
||||
# traverses directory structure from process work directory to filesystem root |
|
||||
# first directory with .mvn subdirectory is considered project base directory |
|
||||
find_maven_basedir() { |
|
||||
|
|
||||
if [ -z "$1" ] |
|
||||
then |
|
||||
echo "Path not specified to find_maven_basedir" |
|
||||
return 1 |
|
||||
fi |
|
||||
|
|
||||
basedir="$1" |
|
||||
wdir="$1" |
|
||||
while [ "$wdir" != '/' ] ; do |
|
||||
if [ -d "$wdir"/.mvn ] ; then |
|
||||
basedir=$wdir |
|
||||
break |
|
||||
fi |
|
||||
# workaround for JBEAP-8937 (on Solaris 10/Sparc) |
|
||||
if [ -d "${wdir}" ]; then |
|
||||
wdir=`cd "$wdir/.."; pwd` |
|
||||
fi |
|
||||
# end of workaround |
|
||||
done |
|
||||
echo "${basedir}" |
|
||||
} |
|
||||
|
|
||||
# concatenates all lines of a file |
|
||||
concat_lines() { |
|
||||
if [ -f "$1" ]; then |
|
||||
echo "$(tr -s '\n' ' ' < "$1")" |
|
||||
fi |
|
||||
} |
|
||||
|
|
||||
BASE_DIR=`find_maven_basedir "$(pwd)"` |
|
||||
if [ -z "$BASE_DIR" ]; then |
|
||||
exit 1; |
|
||||
fi |
|
||||
|
|
||||
########################################################################################## |
|
||||
# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |
|
||||
# This allows using the maven wrapper in projects that prohibit checking in binary data. |
|
||||
########################################################################################## |
|
||||
if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Found .mvn/wrapper/maven-wrapper.jar" |
|
||||
fi |
|
||||
else |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." |
|
||||
fi |
|
||||
if [ -n "$MVNW_REPOURL" ]; then |
|
||||
jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|
||||
else |
|
||||
jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|
||||
fi |
|
||||
while IFS="=" read key value; do |
|
||||
case "$key" in (wrapperUrl) jarUrl="$value"; break ;; |
|
||||
esac |
|
||||
done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Downloading from: $jarUrl" |
|
||||
fi |
|
||||
wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" |
|
||||
if $cygwin; then |
|
||||
wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` |
|
||||
fi |
|
||||
|
|
||||
if command -v wget > /dev/null; then |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Found wget ... using wget" |
|
||||
fi |
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |
|
||||
wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" |
|
||||
else |
|
||||
wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" |
|
||||
fi |
|
||||
elif command -v curl > /dev/null; then |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Found curl ... using curl" |
|
||||
fi |
|
||||
if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then |
|
||||
curl -o "$wrapperJarPath" "$jarUrl" -f |
|
||||
else |
|
||||
curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f |
|
||||
fi |
|
||||
|
|
||||
else |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo "Falling back to using Java to download" |
|
||||
fi |
|
||||
javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" |
|
||||
# For Cygwin, switch paths to Windows format before running javac |
|
||||
if $cygwin; then |
|
||||
javaClass=`cygpath --path --windows "$javaClass"` |
|
||||
fi |
|
||||
if [ -e "$javaClass" ]; then |
|
||||
if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo " - Compiling MavenWrapperDownloader.java ..." |
|
||||
fi |
|
||||
# Compiling the Java class |
|
||||
("$JAVA_HOME/bin/javac" "$javaClass") |
|
||||
fi |
|
||||
if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then |
|
||||
# Running the downloader |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo " - Running MavenWrapperDownloader.java ..." |
|
||||
fi |
|
||||
("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") |
|
||||
fi |
|
||||
fi |
|
||||
fi |
|
||||
fi |
|
||||
########################################################################################## |
|
||||
# End of extension |
|
||||
########################################################################################## |
|
||||
|
|
||||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} |
|
||||
if [ "$MVNW_VERBOSE" = true ]; then |
|
||||
echo $MAVEN_PROJECTBASEDIR |
|
||||
fi |
|
||||
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" |
|
||||
|
|
||||
# For Cygwin, switch paths to Windows format before running java |
|
||||
if $cygwin; then |
|
||||
[ -n "$M2_HOME" ] && |
|
||||
M2_HOME=`cygpath --path --windows "$M2_HOME"` |
|
||||
[ -n "$JAVA_HOME" ] && |
|
||||
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` |
|
||||
[ -n "$CLASSPATH" ] && |
|
||||
CLASSPATH=`cygpath --path --windows "$CLASSPATH"` |
|
||||
[ -n "$MAVEN_PROJECTBASEDIR" ] && |
|
||||
MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` |
|
||||
fi |
|
||||
|
|
||||
# Provide a "standardized" way to retrieve the CLI args that will |
|
||||
# work with both Windows and non-Windows executions. |
|
||||
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" |
|
||||
export MAVEN_CMD_LINE_ARGS |
|
||||
|
|
||||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |
|
||||
|
|
||||
exec "$JAVACMD" \ |
|
||||
$MAVEN_OPTS \ |
|
||||
$MAVEN_DEBUG_OPTS \ |
|
||||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ |
|
||||
"-Dmaven.home=${M2_HOME}" \ |
|
||||
"-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ |
|
||||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
|
@ -1,188 +0,0 @@ |
|||||
@REM ---------------------------------------------------------------------------- |
|
||||
@REM Licensed to the Apache Software Foundation (ASF) under one |
|
||||
@REM or more contributor license agreements. See the NOTICE file |
|
||||
@REM distributed with this work for additional information |
|
||||
@REM regarding copyright ownership. The ASF licenses this file |
|
||||
@REM to you under the Apache License, Version 2.0 (the |
|
||||
@REM "License"); you may not use this file except in compliance |
|
||||
@REM with the License. You may obtain a copy of the License at |
|
||||
@REM |
|
||||
@REM https://www.apache.org/licenses/LICENSE-2.0 |
|
||||
@REM |
|
||||
@REM Unless required by applicable law or agreed to in writing, |
|
||||
@REM software distributed under the License is distributed on an |
|
||||
@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
|
||||
@REM KIND, either express or implied. See the License for the |
|
||||
@REM specific language governing permissions and limitations |
|
||||
@REM under the License. |
|
||||
@REM ---------------------------------------------------------------------------- |
|
||||
|
|
||||
@REM ---------------------------------------------------------------------------- |
|
||||
@REM Maven Start Up Batch script |
|
||||
@REM |
|
||||
@REM Required ENV vars: |
|
||||
@REM JAVA_HOME - location of a JDK home dir |
|
||||
@REM |
|
||||
@REM Optional ENV vars |
|
||||
@REM M2_HOME - location of maven2's installed home dir |
|
||||
@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands |
|
||||
@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending |
|
||||
@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven |
|
||||
@REM e.g. to debug Maven itself, use |
|
||||
@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 |
|
||||
@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files |
|
||||
@REM ---------------------------------------------------------------------------- |
|
||||
|
|
||||
@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' |
|
||||
@echo off |
|
||||
@REM set title of command window |
|
||||
title %0 |
|
||||
@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' |
|
||||
@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% |
|
||||
|
|
||||
@REM set %HOME% to equivalent of $HOME |
|
||||
if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") |
|
||||
|
|
||||
@REM Execute a user defined script before this one |
|
||||
if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre |
|
||||
@REM check for pre script, once with legacy .bat ending and once with .cmd ending |
|
||||
if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* |
|
||||
if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* |
|
||||
:skipRcPre |
|
||||
|
|
||||
@setlocal |
|
||||
|
|
||||
set ERROR_CODE=0 |
|
||||
|
|
||||
@REM To isolate internal variables from possible post scripts, we use another setlocal |
|
||||
@setlocal |
|
||||
|
|
||||
@REM ==== START VALIDATION ==== |
|
||||
if not "%JAVA_HOME%" == "" goto OkJHome |
|
||||
|
|
||||
echo. |
|
||||
echo Error: JAVA_HOME not found in your environment. >&2 |
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2 |
|
||||
echo location of your Java installation. >&2 |
|
||||
echo. |
|
||||
goto error |
|
||||
|
|
||||
:OkJHome |
|
||||
if exist "%JAVA_HOME%\bin\java.exe" goto init |
|
||||
|
|
||||
echo. |
|
||||
echo Error: JAVA_HOME is set to an invalid directory. >&2 |
|
||||
echo JAVA_HOME = "%JAVA_HOME%" >&2 |
|
||||
echo Please set the JAVA_HOME variable in your environment to match the >&2 |
|
||||
echo location of your Java installation. >&2 |
|
||||
echo. |
|
||||
goto error |
|
||||
|
|
||||
@REM ==== END VALIDATION ==== |
|
||||
|
|
||||
:init |
|
||||
|
|
||||
@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". |
|
||||
@REM Fallback to current working directory if not found. |
|
||||
|
|
||||
set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% |
|
||||
IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir |
|
||||
|
|
||||
set EXEC_DIR=%CD% |
|
||||
set WDIR=%EXEC_DIR% |
|
||||
:findBaseDir |
|
||||
IF EXIST "%WDIR%"\.mvn goto baseDirFound |
|
||||
cd .. |
|
||||
IF "%WDIR%"=="%CD%" goto baseDirNotFound |
|
||||
set WDIR=%CD% |
|
||||
goto findBaseDir |
|
||||
|
|
||||
:baseDirFound |
|
||||
set MAVEN_PROJECTBASEDIR=%WDIR% |
|
||||
cd "%EXEC_DIR%" |
|
||||
goto endDetectBaseDir |
|
||||
|
|
||||
:baseDirNotFound |
|
||||
set MAVEN_PROJECTBASEDIR=%EXEC_DIR% |
|
||||
cd "%EXEC_DIR%" |
|
||||
|
|
||||
:endDetectBaseDir |
|
||||
|
|
||||
IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig |
|
||||
|
|
||||
@setlocal EnableExtensions EnableDelayedExpansion |
|
||||
for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a |
|
||||
@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% |
|
||||
|
|
||||
:endReadAdditionalConfig |
|
||||
|
|
||||
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" |
|
||||
set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" |
|
||||
set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain |
|
||||
|
|
||||
set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|
||||
|
|
||||
FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( |
|
||||
IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B |
|
||||
) |
|
||||
|
|
||||
@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central |
|
||||
@REM This allows using the maven wrapper in projects that prohibit checking in binary data. |
|
||||
if exist %WRAPPER_JAR% ( |
|
||||
if "%MVNW_VERBOSE%" == "true" ( |
|
||||
echo Found %WRAPPER_JAR% |
|
||||
) |
|
||||
) else ( |
|
||||
if not "%MVNW_REPOURL%" == "" ( |
|
||||
SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" |
|
||||
) |
|
||||
if "%MVNW_VERBOSE%" == "true" ( |
|
||||
echo Couldn't find %WRAPPER_JAR%, downloading it ... |
|
||||
echo Downloading from: %DOWNLOAD_URL% |
|
||||
) |
|
||||
|
|
||||
powershell -Command "&{"^ |
|
||||
"$webclient = new-object System.Net.WebClient;"^ |
|
||||
"if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ |
|
||||
"$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ |
|
||||
"}"^ |
|
||||
"[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ |
|
||||
"}" |
|
||||
if "%MVNW_VERBOSE%" == "true" ( |
|
||||
echo Finished downloading %WRAPPER_JAR% |
|
||||
) |
|
||||
) |
|
||||
@REM End of extension |
|
||||
|
|
||||
@REM Provide a "standardized" way to retrieve the CLI args that will |
|
||||
@REM work with both Windows and non-Windows executions. |
|
||||
set MAVEN_CMD_LINE_ARGS=%* |
|
||||
|
|
||||
%MAVEN_JAVA_EXE% ^ |
|
||||
%JVM_CONFIG_MAVEN_PROPS% ^ |
|
||||
%MAVEN_OPTS% ^ |
|
||||
%MAVEN_DEBUG_OPTS% ^ |
|
||||
-classpath %WRAPPER_JAR% ^ |
|
||||
"-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ |
|
||||
%WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* |
|
||||
if ERRORLEVEL 1 goto error |
|
||||
goto end |
|
||||
|
|
||||
:error |
|
||||
set ERROR_CODE=1 |
|
||||
|
|
||||
:end |
|
||||
@endlocal & set ERROR_CODE=%ERROR_CODE% |
|
||||
|
|
||||
if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost |
|
||||
@REM check for post script, once with legacy .bat ending and once with .cmd ending |
|
||||
if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" |
|
||||
if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" |
|
||||
:skipRcPost |
|
||||
|
|
||||
@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' |
|
||||
if "%MAVEN_BATCH_PAUSE%"=="on" pause |
|
||||
|
|
||||
if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% |
|
||||
|
|
||||
cmd /C exit /B %ERROR_CODE% |
|
@ -0,0 +1,16 @@ |
|||||
|
package com.woniu; |
||||
|
|
||||
|
import org.mybatis.spring.boot.autoconfigure.MybatisAutoConfiguration; |
||||
|
import org.springframework.boot.SpringApplication; |
||||
|
import org.springframework.boot.autoconfigure.SpringBootApplication; |
||||
|
|
||||
|
|
||||
|
@SpringBootApplication(exclude = MybatisAutoConfiguration.class) |
||||
|
public class WoNiuApplication { |
||||
|
|
||||
|
public static void main(String[] args) { |
||||
|
SpringApplication.run(WoNiuApplication.class, args); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,45 @@ |
|||||
|
package com.woniu.config; |
||||
|
|
||||
|
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||
|
import org.springframework.beans.factory.annotation.Qualifier; |
||||
|
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; |
||||
|
|
||||
|
import javax.sql.DataSource; |
||||
|
/** |
||||
|
* 优雅的实现 mybatis多数据源 |
||||
|
* 在新增数据时除了给自己的库保留一份,还需要同步到别人的库 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Configuration |
||||
|
@MapperScan(basePackages = {"com.woniu.dao.master"}, |
||||
|
sqlSessionFactoryRef = "MasterSqlSessionFactory") |
||||
|
public class MasterDataSourceConfig { |
||||
|
|
||||
|
@Bean(name = "MasterDataSource") |
||||
|
@Qualifier("MasterDataSource") |
||||
|
@ConfigurationProperties(prefix = "spring.datasource.master") |
||||
|
public DataSource clickHouseDataSource() { |
||||
|
return DruidDataSourceBuilder.create().build(); |
||||
|
} |
||||
|
|
||||
|
@Bean(name = "MasterSqlSessionFactory") |
||||
|
public SqlSessionFactory getSqlSessionFactory(@Qualifier("MasterDataSource") DataSource dataSource) throws Exception { |
||||
|
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); |
||||
|
sessionFactoryBean.setDataSource(dataSource); |
||||
|
sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() |
||||
|
.getResources("classpath*:mapper/master/*.xml")); |
||||
|
log.info("------------------------------------------MasterDataSource 配置成功"); |
||||
|
return sessionFactoryBean.getObject(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
package com.woniu.config; |
||||
|
|
||||
|
|
||||
|
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.apache.ibatis.session.SqlSessionFactory; |
||||
|
import org.mybatis.spring.SqlSessionFactoryBean; |
||||
|
import org.mybatis.spring.annotation.MapperScan; |
||||
|
import org.springframework.beans.factory.annotation.Qualifier; |
||||
|
import org.springframework.boot.context.properties.ConfigurationProperties; |
||||
|
import org.springframework.context.annotation.Bean; |
||||
|
import org.springframework.context.annotation.Configuration; |
||||
|
import org.springframework.core.io.support.PathMatchingResourcePatternResolver; |
||||
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager; |
||||
|
|
||||
|
import javax.sql.DataSource; |
||||
|
|
||||
|
/** |
||||
|
* 优雅的实现 mybatis多数据源 |
||||
|
* 在实际开发中会遇到多数据源的场景,比如说,在新增数据时除了给自己的库保留一份,还需要同步到别人的库 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Configuration |
||||
|
@MapperScan(basePackages = {"com.woniu.dao.slave"}, |
||||
|
sqlSessionFactoryRef = "SlaveSqlSessionFactory") |
||||
|
public class SlaveDataSourceConfig { |
||||
|
|
||||
|
@Bean(name = "SlaveDataSource") |
||||
|
@Qualifier("SlaveDataSource") |
||||
|
@ConfigurationProperties(prefix = "spring.datasource.slave") |
||||
|
public DataSource clickHouseDataSource() { |
||||
|
return DruidDataSourceBuilder.create().build(); |
||||
|
} |
||||
|
|
||||
|
@Bean(name = "SlaveSqlSessionFactory") |
||||
|
public SqlSessionFactory getSqlSessionFactory(@Qualifier("SlaveDataSource") DataSource dataSource) throws Exception { |
||||
|
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); |
||||
|
sessionFactoryBean.setDataSource(dataSource); |
||||
|
sessionFactoryBean.setMapperLocations(new PathMatchingResourcePatternResolver() |
||||
|
.getResources("classpath*:mapper/slave/*.xml")); |
||||
|
log.info("------------------------------------------SlaveDataSource 配置成功"); |
||||
|
return sessionFactoryBean.getObject(); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
||||
|
|
@ -0,0 +1,8 @@ |
|||||
|
package com.woniu.constant; |
||||
|
|
||||
|
|
||||
|
public class Constants { |
||||
|
|
||||
|
public static String ADDRESS = ""; |
||||
|
|
||||
|
} |
@ -0,0 +1,13 @@ |
|||||
|
package com.woniu.dao.master; |
||||
|
|
||||
|
import com.woniu.vo.User; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
|
||||
|
@Mapper |
||||
|
public interface MasterUserDao { |
||||
|
|
||||
|
int insertUser(User user); |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,12 @@ |
|||||
|
package com.woniu.dao.slave; |
||||
|
|
||||
|
import com.woniu.vo.User; |
||||
|
import org.apache.ibatis.annotations.Mapper; |
||||
|
|
||||
|
|
||||
|
@Mapper |
||||
|
public interface SlaveUserDao { |
||||
|
|
||||
|
int insertUser(User user); |
||||
|
|
||||
|
} |
@ -1,17 +0,0 @@ |
|||||
package com.woniu.datasourcedemo; |
|
||||
|
|
||||
import org.mybatis.spring.annotation.MapperScan; |
|
||||
import org.springframework.boot.SpringApplication; |
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|
||||
import org.springframework.context.annotation.EnableAspectJAutoProxy; |
|
||||
|
|
||||
@SpringBootApplication |
|
||||
@MapperScan(basePackages = "com.woniu.datasourcedemo.dao") |
|
||||
@EnableAspectJAutoProxy(exposeProxy = true) |
|
||||
public class DemoApplication { |
|
||||
|
|
||||
public static void main(String[] args) { |
|
||||
SpringApplication.run(DemoApplication.class, args); |
|
||||
} |
|
||||
|
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
package com.woniu.datasourcedemo.controller; |
|
||||
|
|
||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional; |
|
||||
import com.woniu.datasourcedemo.model.User; |
|
||||
import com.woniu.datasourcedemo.service.UserService; |
|
||||
import org.springframework.stereotype.Controller; |
|
||||
import org.springframework.web.bind.annotation.*; |
|
||||
|
|
||||
import javax.annotation.Resource; |
|
||||
|
|
||||
@RestController |
|
||||
public class UserController { |
|
||||
|
|
||||
@Resource |
|
||||
private UserService userService; |
|
||||
|
|
||||
/** |
|
||||
* |
|
||||
* 如何连接多个数据库? 实现spring多数据源配置! |
|
||||
* @param id |
|
||||
* @return |
|
||||
*/ |
|
||||
@GetMapping("/v1/user/{id}") |
|
||||
public User getById1(@PathVariable String id) { |
|
||||
return userService.getByUserId1(id); |
|
||||
} |
|
||||
|
|
||||
@GetMapping(value = "/v2/user/{id}") |
|
||||
public User getById2(@PathVariable String id) { |
|
||||
return userService.getByUserId2(id); |
|
||||
} |
|
||||
|
|
||||
@GetMapping("/insertUserAll") |
|
||||
public void insertUserAll(@RequestParam("name") String name, @RequestParam("age") String age) { |
|
||||
userService.insertUserAll(name,age); |
|
||||
} |
|
||||
|
|
||||
} |
|
@ -1,17 +0,0 @@ |
|||||
package com.woniu.datasourcedemo.dao; |
|
||||
|
|
||||
import com.woniu.datasourcedemo.model.User; |
|
||||
import org.apache.ibatis.annotations.Mapper; |
|
||||
import org.apache.ibatis.annotations.Param; |
|
||||
import org.springframework.stereotype.Repository; |
|
||||
|
|
||||
|
|
||||
@Mapper |
|
||||
@Repository |
|
||||
public interface UserDao { |
|
||||
User getById(Integer id); |
|
||||
|
|
||||
void insertUserDs1(@Param("name") String name, @Param("age") String age); |
|
||||
|
|
||||
void insertUserDs2(@Param("name") String name, @Param("age") String age); |
|
||||
} |
|
@ -1,48 +0,0 @@ |
|||||
package com.woniu.datasourcedemo.model; |
|
||||
|
|
||||
import lombok.Data; |
|
||||
|
|
||||
import java.io.Serializable; |
|
||||
|
|
||||
public class User implements Serializable { |
|
||||
|
|
||||
private String id; |
|
||||
|
|
||||
private String name; |
|
||||
|
|
||||
private String age; |
|
||||
|
|
||||
|
|
||||
public String getId() { |
|
||||
return id; |
|
||||
} |
|
||||
|
|
||||
public void setId(String id) { |
|
||||
this.id = id; |
|
||||
} |
|
||||
|
|
||||
public String getName() { |
|
||||
return name; |
|
||||
} |
|
||||
|
|
||||
public void setName(String name) { |
|
||||
this.name = name; |
|
||||
} |
|
||||
|
|
||||
public String getAge() { |
|
||||
return age; |
|
||||
} |
|
||||
|
|
||||
public void setAge(String age) { |
|
||||
this.age = age; |
|
||||
} |
|
||||
|
|
||||
@Override |
|
||||
public String toString() { |
|
||||
return "User{" + |
|
||||
"id='" + id + '\'' + |
|
||||
", name='" + name + '\'' + |
|
||||
", age='" + age + '\'' + |
|
||||
'}'; |
|
||||
} |
|
||||
} |
|
@ -1,51 +0,0 @@ |
|||||
package com.woniu.datasourcedemo.service; |
|
||||
|
|
||||
import com.baomidou.dynamic.datasource.annotation.DS; |
|
||||
import com.baomidou.dynamic.datasource.annotation.DSTransactional; |
|
||||
import com.woniu.datasourcedemo.dao.UserDao; |
|
||||
import com.woniu.datasourcedemo.model.User; |
|
||||
import org.springframework.aop.framework.AopContext; |
|
||||
import org.springframework.stereotype.Service; |
|
||||
|
|
||||
import javax.annotation.Resource; |
|
||||
|
|
||||
@Service |
|
||||
public class UserService { |
|
||||
|
|
||||
|
|
||||
@Resource |
|
||||
UserDao userDao; |
|
||||
|
|
||||
|
|
||||
@DS("ds1") |
|
||||
public User getByUserId1(String userId) { |
|
||||
return userDao.getById(Integer.parseInt(userId)); |
|
||||
} |
|
||||
|
|
||||
@DS("ds2") |
|
||||
public User getByUserId2(String userId) { |
|
||||
return userDao.getById(Integer.parseInt(userId)); |
|
||||
} |
|
||||
|
|
||||
|
|
||||
@DS("ds1") |
|
||||
public void insertUserDs1(String name,String age) { |
|
||||
userDao.insertUserDs1(name,age); |
|
||||
} |
|
||||
|
|
||||
@DS("ds2") |
|
||||
public void insertUserDs2(String name,String age) { |
|
||||
userDao.insertUserDs2(name,age); |
|
||||
} |
|
||||
|
|
||||
@DSTransactional |
|
||||
public void insertUserAll(String name, String age){ |
|
||||
UserService userService = (UserService) AopContext.currentProxy(); |
|
||||
userService.insertUserDs1(name,age); |
|
||||
userService.insertUserDs2(name,age); |
|
||||
int i =1/0; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
|
@ -0,0 +1,34 @@ |
|||||
|
package com.woniu.service; |
||||
|
|
||||
|
import com.woniu.dao.master.MasterUserDao; |
||||
|
import com.woniu.dao.slave.SlaveUserDao; |
||||
|
import com.woniu.vo.User; |
||||
|
import org.junit.Test; |
||||
|
import org.junit.runner.RunWith; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.boot.test.context.SpringBootTest; |
||||
|
import org.springframework.test.context.junit4.SpringRunner; |
||||
|
|
||||
|
@SpringBootTest |
||||
|
@RunWith(SpringRunner.class) |
||||
|
public class UserService { |
||||
|
|
||||
|
|
||||
|
@Autowired |
||||
|
private MasterUserDao masterUserDao; |
||||
|
|
||||
|
@Autowired |
||||
|
private SlaveUserDao slaveUserDao; |
||||
|
|
||||
|
@Test |
||||
|
public void testUser() { |
||||
|
User user = new User(); |
||||
|
user.setId(1l); |
||||
|
user.setSex(1); |
||||
|
user.setName("蜗牛"); |
||||
|
masterUserDao.insertUser(user); |
||||
|
slaveUserDao.insertUser(user); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,10 @@ |
|||||
|
package com.woniu.vo; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
@Data |
||||
|
public class User { |
||||
|
private Long id; |
||||
|
private String name; |
||||
|
private Integer sex; |
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
# |
||||
|
spring.application.name=www |
||||
|
server.port=8081 |
||||
|
##1800s |
||||
|
#server.servlet.session.timeout=1800 |
||||
|
#spring.jackson.time-zone=GMT+8 |
||||
|
#spring.jackson.date-format=yyyy-MM-dd HH:mm:ss |
||||
|
# |
||||
|
##定义数据源 |
||||
|
#spring.shardingsphere.datasource.names=m1,m2 |
||||
|
# |
||||
|
#spring.shardingsphere.datasource.m1.url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8 |
||||
|
#spring.shardingsphere.datasource.m1.username=root |
||||
|
#spring.shardingsphere.datasource.m1.password=123456 |
||||
|
#spring.shardingsphere.datasource.m1.driver‐class‐name=com.mysql.cj.jdbc.Driver |
||||
|
#spring.shardingsphere.datasource.m1.type=com.alibaba.druid.pool.DruidDataSource |
||||
|
# |
||||
|
# |
||||
|
#spring.shardingsphere.datasource.m2.url=jdbc:mysql://127.0.0.1:3306/test2?serverTimezone=GMT%2b8&useUnicode=true&characterEncoding=utf8 |
||||
|
#spring.shardingsphere.datasource.m2.username=root |
||||
|
#spring.shardingsphere.datasource.m2.password=123456 |
||||
|
#spring.shardingsphere.datasource.m2.driver‐class‐name=com.mysql.cj.jdbc.Driver |
||||
|
#spring.shardingsphere.datasource.m2.type=com.alibaba.druid.pool.DruidDataSource |
||||
|
# |
||||
|
## 指定t_user表的数据分布情况,配置数据节点 |
||||
|
#spring.shardingsphere.sharding.tables.t_user.actual‐data‐nodes=m$->{1..2}.t_user_$->{1..2} |
||||
|
# |
||||
|
## 指定t_user表的主键生成策略为SNOWFLAKE |
||||
|
#spring.shardingsphere.sharding.tables.t_user.key‐generator.column=id |
||||
|
#spring.shardingsphere.sharding.tables.t_user.key‐generator.type=SNOWFLAKE |
||||
|
# |
||||
|
## 指定t_user表的分库策略,分库策略包括分片键和分片算法 |
||||
|
#spring.shardingsphere.sharding.tables.t_user.database-strategy.inline.sharding‐column=sex |
||||
|
#spring.shardingsphere.sharding.tables.t_user.database-strategy.inline.algorithm‐expression=m$->{sex % 2 + 1} |
||||
|
# |
||||
|
# |
||||
|
## 指定t_user表的分表策略,分表策略包括分片键和分片算法 |
||||
|
#spring.shardingsphere.sharding.tables.t_user.table‐strategy.inline.sharding‐column=id |
||||
|
#spring.shardingsphere.sharding.tables.t_user.table‐strategy.inline.algorithm‐expression=t_user_$->{id % 2 + 1} |
||||
|
# |
||||
|
# |
||||
|
## 控制台日志配置 |
||||
|
#logging.level.root=info |
||||
|
# |
||||
|
## 打开sql输出日志 |
||||
|
#spring.shardingsphere.props.sql.show=true |
||||
|
# |
||||
|
##mapper文件扫描路径 |
||||
|
#mybatis.mapper-locations=classpath:/mapper/*.xml |
||||
|
# |
||||
|
# |
||||
|
# |
@ -1,22 +1,14 @@ |
|||||
spring: |
spring: |
||||
datasource: |
datasource: |
||||
dynamic: |
type: com.alibaba.druid.pool.DruidDataSource |
||||
primary: ds1 #设置默认的数据源或者数据源组,默认值即为master |
driverClassName: com.mysql.cj.jdbc.Driver |
||||
strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 |
# 主库数据源 |
||||
datasource: |
master: |
||||
ds1: |
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
||||
url: jdbc:mysql://localhost:3306/ds1database |
|
||||
username: root |
username: root |
||||
password: 123456 |
password: 123456 |
||||
driver-class-name: com.mysql.cj.jdbc.Driver # 3.2.0开始支持SPI可省略此配置 |
slave: |
||||
ds2: |
url: jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 |
||||
url: jdbc:mysql://localhost:3306/ds2database |
|
||||
username: root |
username: root |
||||
password: 123456 |
password: 123456 |
||||
driver-class-name: com.mysql.cj.jdbc.Driver |
|
||||
|
|
||||
mybatis: |
|
||||
mapper-locations: |
|
||||
classpath:mapper/*.xml |
|
||||
|
|
||||
|
|
||||
|
Binary file not shown.
@ -0,0 +1,26 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<configuration> |
||||
|
<!-- 控制台日志格式 --> |
||||
|
<property name="CONSOLE_LOG_PATTERN" value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %X{requestId} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/> |
||||
|
<!-- 控制台日志格式 依赖的渲染类 --> |
||||
|
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" /> |
||||
|
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" /> |
||||
|
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" /> |
||||
|
<!-- 输出到控制台 --> |
||||
|
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> |
||||
|
<encoder> |
||||
|
<!-- 配置日志输出格式 --> |
||||
|
<pattern>${CONSOLE_LOG_PATTERN}</pattern> |
||||
|
<!-- 使用的字符集 --> |
||||
|
<charset>UTF-8</charset> |
||||
|
</encoder> |
||||
|
</appender> |
||||
|
|
||||
|
|
||||
|
<!-- 开启上面的appender --> |
||||
|
<root level="info"> |
||||
|
<appender-ref ref="CONSOLE" /> |
||||
|
</root> |
||||
|
|
||||
|
|
||||
|
</configuration> |
@ -1,22 +0,0 @@ |
|||||
<?xml version="1.0" encoding="UTF-8" ?> |
|
||||
<!DOCTYPE mapper |
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|
||||
<mapper namespace="com.woniu.datasourcedemo.dao.UserDao"> |
|
||||
|
|
||||
<select id="getById" resultType="com.woniu.datasourcedemo.model.User"> |
|
||||
select * from uc_user |
|
||||
where id = #{id} |
|
||||
</select> |
|
||||
|
|
||||
|
|
||||
<insert id="insertUserDs1"> |
|
||||
insert into uc_user(name,age)values(#{name},#{age}) |
|
||||
</insert> |
|
||||
|
|
||||
<insert id="insertUserDs2"> |
|
||||
insert into uc_user(name,age)values(#{name},#{age}) |
|
||||
</insert> |
|
||||
|
|
||||
|
|
||||
</mapper> |
|
@ -0,0 +1,12 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.woniu.dao.master.MasterUserDao"> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<insert id="insertUser" > |
||||
|
insert into t_user_1(id,name, sex) values (#{id},#{name}, #{sex}) |
||||
|
</insert> |
||||
|
|
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,9 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.woniu.dao.slave.SlaveUserDao"> |
||||
|
|
||||
|
<insert id="insertUser"> |
||||
|
insert into t_user_1(id,name, sex) values (#{id},#{name}, #{sex}) |
||||
|
</insert> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,35 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!DOCTYPE configuration |
||||
|
PUBLIC "-//mybatis.org//DTD Config 3.0//EN" |
||||
|
"http://mybatis.org/dtd/mybatis-3-config.dtd"> |
||||
|
<configuration> |
||||
|
<settings> |
||||
|
<!-- 打印sql日志 --> |
||||
|
<setting name="logImpl" value="org.apache.ibatis.logging.stdout.StdOutImpl"/> |
||||
|
</settings> |
||||
|
<plugins> |
||||
|
<plugin interceptor="com.github.pagehelper.PageHelper"> |
||||
|
<property name="dialect" value="mysql"/> |
||||
|
<property name="offsetAsPageNum" value="false"/> |
||||
|
<property name="rowBoundsWithCount" value="false"/> |
||||
|
<property name="pageSizeZero" value="true"/> |
||||
|
<property name="reasonable" value="false"/> |
||||
|
<property name="supportMethodsArguments" value="false"/> |
||||
|
<property name="returnPageInfo" value="none"/> |
||||
|
</plugin> |
||||
|
</plugins> |
||||
|
<!--<environments default="development">--> |
||||
|
<!--<environment id="development">--> |
||||
|
<!--<transactionManager type="JDBC"/>--> |
||||
|
<!--<dataSource type="POOLED">--> |
||||
|
<!--<property name="driver" value="com.mysql.jdbc.Driver"/>--> |
||||
|
<!--<property name="url" value="jdbc:mysql://localhost:3307/happy_home?serverTimezone=UTC"/>--> |
||||
|
<!--<property name="username" value="root"/>--> |
||||
|
<!--<property name="password" value="root"/>--> |
||||
|
<!--</dataSource>--> |
||||
|
<!--</environment>--> |
||||
|
<!--</environments>--> |
||||
|
<!--<mappers>--> |
||||
|
<!--<mapper resource="mapper/EmployeeMapper.xml" />--> |
||||
|
<!--</mappers>--> |
||||
|
</configuration> |
@ -1,5 +0,0 @@ |
|||||
{ |
|
||||
"name": "张三", |
|
||||
"age": 20, |
|
||||
"gender": 1 |
|
||||
} |
|
@ -0,0 +1,153 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> |
||||
|
<component name="FacetManager"> |
||||
|
<facet type="Spring" name="Spring"> |
||||
|
<configuration /> |
||||
|
</facet> |
||||
|
<facet type="web" name="Web"> |
||||
|
<configuration> |
||||
|
<webroots /> |
||||
|
<sourceRoots> |
||||
|
<root url="file://$MODULE_DIR$/src/main/java" /> |
||||
|
<root url="file://$MODULE_DIR$/src/main/resources" /> |
||||
|
</sourceRoots> |
||||
|
</configuration> |
||||
|
</facet> |
||||
|
</component> |
||||
|
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8"> |
||||
|
<output url="file://$MODULE_DIR$/target/classes" /> |
||||
|
<output-test url="file://$MODULE_DIR$/target/test-classes" /> |
||||
|
<content url="file://$MODULE_DIR$"> |
||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> |
||||
|
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" /> |
||||
|
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" /> |
||||
|
<excludeFolder url="file://$MODULE_DIR$/target" /> |
||||
|
</content> |
||||
|
<orderEntry type="inheritedJdk" /> |
||||
|
<orderEntry type="sourceFolder" forTests="false" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.guava:guava:29.0-jre" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.11.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.lionsoul:ip2region:2.7.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.6" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: cn.hutool:hutool-all:5.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.13.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.13.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.30" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: jakarta.annotation:jakarta.annotation-api:1.3.5" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.26" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-json:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-databind:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-annotations:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml.jackson.module:jackson-module-parameter-names:2.11.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-tomcat:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-core:9.0.43" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.tomcat.embed:tomcat-embed-websocket:9.0.43" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-web:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-webmvc:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-test:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: net.minidev:json-smart:2.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: net.minidev:accessors-smart:1.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: jakarta.xml.bind:jakarta.xml.bind-api:2.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: jakarta.activation:jakarta.activation-api:1.2.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.assertj:assertj-core:3.16.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.hamcrest:hamcrest:2.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter:5.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-api:5.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.opentest4j:opentest4j:1.2.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-commons:1.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.jupiter:junit-jupiter-params:5.6.3" level="project" /> |
||||
|
<orderEntry type="library" scope="RUNTIME" name="Maven: org.junit.jupiter:junit-jupiter-engine:5.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.vintage:junit-vintage-engine:5.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apiguardian:apiguardian-api:1.1.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.junit.platform:junit-platform-engine:1.6.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: junit:junit:4.13.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mockito:mockito-core:3.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy:1.10.20" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: net.bytebuddy:byte-buddy-agent:1.10.20" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.objenesis:objenesis:2.6" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mockito:mockito-junit-jupiter:3.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-test:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.xmlunit:xmlunit-core:2.7.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.18" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-cache:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-context-support:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-jdbc:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.zaxxer:HikariCP:3.4.5" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-jdbc:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework:spring-tx:5.2.13.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mybatis.spring.boot:mybatis-spring-boot-autoconfigure:1.3.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mybatis:mybatis:3.4.6" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.mybatis:mybatis-spring:1.3.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alibaba:druid-spring-boot-starter:1.2.18" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alibaba:druid:1.2.18" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.30" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.glassfish.jaxb:jaxb-runtime:2.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.glassfish.jaxb:txw2:2.3.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.sun.istack:istack-commons-runtime:3.0.11" level="project" /> |
||||
|
<orderEntry type="library" scope="RUNTIME" name="Maven: com.sun.activation:jakarta.activation:1.2.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: mysql:mysql-connector-java:8.0.29" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:runtime-sofa-boot-starter:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:runtime-sofa-boot:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:sofa-boot:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:log-sofa-boot-starter:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:log-sofa-boot:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa.common:sofa-common-tools:1.3.6" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:sofa-ark-spi:1.1.5" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:sofa-ark-exception:1.1.5" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alipay.sofa:sofa-boot-autoconfigure:3.18.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-validation:2.3.9.RELEASE" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.glassfish:jakarta.el:3.0.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.hibernate.validator:hibernate-validator:6.1.7.Final" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: jakarta.validation:jakarta.validation-api:2.0.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.jboss.logging:jboss-logging:3.4.1.Final" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.fasterxml:classmate:1.5.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.github.ben-manes.caffeine:caffeine:2.9.3" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.76" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.alibaba:easyexcel:3.0.5" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.poi:poi:4.1.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: commons-codec:commons-codec:1.14" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.commons:commons-math3:3.6.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.zaxxer:SparseBitSet:1.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml:4.1.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.poi:poi-ooxml-schemas:4.1.2" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.apache.commons:commons-csv:1.8" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: cglib:cglib:3.3.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.ow2.asm:asm:7.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.ehcache:ehcache:3.8.1" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: org.testng:testng:7.8.0" level="project" /> |
||||
|
<orderEntry type="library" name="Maven: com.beust:jcommander:1.82" level="project" /> |
||||
|
<orderEntry type="library" scope="RUNTIME" name="Maven: org.webjars:jquery:3.6.1" level="project" /> |
||||
|
</component> |
||||
|
</module> |
Loading…
Reference in new issue