forked from qiurunze123/miaosha
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
010f9fe
commit 8bede42
Showing
9 changed files
with
445 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
-Xmx1536m |
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.0/apache-maven-3.6.0-bin.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
### maven wrapper | ||
|
||
> 传统maven的使用流程 | ||
1. 传统使用maven需要先到官网上下载. | ||
2. 配置环境变量把mvn可执行文件路径加入到环境变量,以便之后使用直接使用mvn命令. | ||
3. 另外项目pom.xml文件描述的依赖文件默认是下载在用户目录下的.m2文件下的repository目录下. | ||
4. 再次,如果需要更换maven的版本,需要重新下载maven并替换环境变量path中的maven路径. | ||
|
||
|
||
> maven-wrapper,会获得以下特性 | ||
执行mvnw比如./mvnw clean ,如果本地没有匹配的maven版本,直接会去下载maven,放在用户目录下的.m2/wrapper中 | ||
并且项目的依赖的jar包会直接放在项目目录下的repository目录,这样可以很清晰看到当前项目的依赖文件。 | ||
如果需要更换maven的版本,只需要更改项目当前目录下.mvn/wrapper/maven-wrapper.properties的distributionUrl属性值,更换对应版本的maven下载地址。mvnw命令就会自动重新下载maven。 | ||
可以说带有mvnw文件的项目,除了额外需要配置 java环境外,只需要使用本项目的mvnw脚本就可以完成编译,打包,发布等一系列操作。 | ||
|
||
> 如何使用呢? | ||
通常我们在使用maven的时候会执行如下一些命令: | ||
mvn clean | ||
mvn install | ||
mvn package | ||
... | ||
|
||
使用maven wrapper之后只需打开terminal 执行如下等价命令即可: | ||
linux: | ||
./mvnw clean | ||
./mvnw install | ||
./mvnw package | ||
... | ||
windows: | ||
mvnw.cmd clean | ||
mvnw.cmd install | ||
mvnw.cmd package | ||
... | ||
> Get Started! | ||
因此大家在下载项目代码之后, 只需要执行 ./mvn clean install | ||
maven warpper 便会自动为该项目构建maven环境. | ||
当然如果大家用的IDE是idea 那么依然也可以使用右上方的MavenProject Panel 鼠标触发各个Task |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,225 @@ | ||
#!/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 | ||
# | ||
# http://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. | ||
# ---------------------------------------------------------------------------- | ||
|
||
# ---------------------------------------------------------------------------- | ||
# Maven2 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 /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 Migwn, 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)`" | ||
# TODO classpath? | ||
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="`which 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 | ||
|
||
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} | ||
echo $MAVEN_PROJECTBASEDIR | ||
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 | ||
|
||
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain | ||
|
||
exec "$JAVACMD" \ | ||
$MAVEN_OPTS \ | ||
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ | ||
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ | ||
${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" |
Oops, something went wrong.