Skip to content

Commit 381d05d

Browse files
authored
Merge pull request #198 from gregturn/springboot-and-springdata
Add Spring Data JPA-based sample
2 parents ecf37e6 + 8d0e747 commit 381d05d

File tree

9 files changed

+777
-0
lines changed

9 files changed

+777
-0
lines changed

samples/tutorials/java/.gitignore

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
2+
# Created by https://www.gitignore.io/api/intellij,eclipse,java,maven,mac
3+
4+
### Eclipse ###
5+
6+
.metadata
7+
bin/
8+
tmp/
9+
*.tmp
10+
*.bak
11+
*.swp
12+
*~.nib
13+
local.properties
14+
.settings/
15+
.loadpath
16+
.recommenders
17+
18+
# Eclipse Core
19+
.project
20+
21+
# External tool builders
22+
.externalToolBuilders/
23+
24+
# Locally stored "Eclipse launch configurations"
25+
*.launch
26+
27+
# PyDev specific (Python IDE for Eclipse)
28+
*.pydevproject
29+
30+
# CDT-specific (C/C++ Development Tooling)
31+
.cproject
32+
33+
# JDT-specific (Eclipse Java Development Tools)
34+
.classpath
35+
36+
# Java annotation processor (APT)
37+
.factorypath
38+
39+
# PDT-specific (PHP Development Tools)
40+
.buildpath
41+
42+
# sbteclipse plugin
43+
.target
44+
45+
# Tern plugin
46+
.tern-project
47+
48+
# TeXlipse plugin
49+
.texlipse
50+
51+
# STS (Spring Tool Suite)
52+
.springBeans
53+
54+
# Code Recommenders
55+
.recommenders/
56+
57+
### Intellij ###
58+
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm
59+
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
60+
61+
# User-specific stuff:
62+
.idea
63+
64+
## File-based project format:
65+
*.iws
66+
*.iml
67+
68+
## Plugin-specific files:
69+
70+
# IntelliJ
71+
/out/
72+
73+
# mpeltonen/sbt-idea plugin
74+
.idea_modules/
75+
76+
# JIRA plugin
77+
atlassian-ide-plugin.xml
78+
79+
# Crashlytics plugin (for Android Studio and IntelliJ)
80+
com_crashlytics_export_strings.xml
81+
crashlytics.properties
82+
crashlytics-build.properties
83+
fabric.properties
84+
85+
### Intellij Patch ###
86+
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
87+
88+
# *.iml
89+
# modules.xml
90+
# .idea/misc.xml
91+
# *.ipr
92+
93+
### Java ###
94+
# Compiled class file
95+
*.class
96+
97+
# Log file
98+
*.log
99+
100+
# BlueJ files
101+
*.ctxt
102+
103+
# Mobile Tools for Java (J2ME)
104+
.mtj.tmp/
105+
106+
# Package Files #
107+
*.jar
108+
*.war
109+
*.ear
110+
*.zip
111+
*.tar.gz
112+
*.rar
113+
114+
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
115+
hs_err_pid*
116+
117+
#!! ERROR: mac is undefined. Use list command to see defined gitignore types !!#
118+
119+
### Maven ###
120+
target/
121+
pom.xml.tag
122+
pom.xml.releaseBackup
123+
pom.xml.versionsBackup
124+
pom.xml.next
125+
release.properties
126+
dependency-reduced-pom.xml
127+
buildNumber.properties
128+
.mvn/timing.properties
129+
130+
# Exclude maven wrapper
131+
!/.mvn/wrapper/maven-wrapper.jar
132+
133+
# End of https://www.gitignore.io/api/intellij,eclipse,java,maven,mac
Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,233 @@
1+
#!/bin/sh
2+
# ----------------------------------------------------------------------------
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
# ----------------------------------------------------------------------------
20+
21+
# ----------------------------------------------------------------------------
22+
# Maven2 Start Up Batch script
23+
#
24+
# Required ENV vars:
25+
# ------------------
26+
# JAVA_HOME - location of a JDK home dir
27+
#
28+
# Optional ENV vars
29+
# -----------------
30+
# M2_HOME - location of maven2's installed home dir
31+
# MAVEN_OPTS - parameters passed to the Java VM when running Maven
32+
# e.g. to debug Maven itself, use
33+
# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
34+
# MAVEN_SKIP_RC - flag to disable loading of mavenrc files
35+
# ----------------------------------------------------------------------------
36+
37+
if [ -z "$MAVEN_SKIP_RC" ] ; then
38+
39+
if [ -f /etc/mavenrc ] ; then
40+
. /etc/mavenrc
41+
fi
42+
43+
if [ -f "$HOME/.mavenrc" ] ; then
44+
. "$HOME/.mavenrc"
45+
fi
46+
47+
fi
48+
49+
# OS specific support. $var _must_ be set to either true or false.
50+
cygwin=false;
51+
darwin=false;
52+
mingw=false
53+
case "`uname`" in
54+
CYGWIN*) cygwin=true ;;
55+
MINGW*) mingw=true;;
56+
Darwin*) darwin=true
57+
#
58+
# Look for the Apple JDKs first to preserve the existing behaviour, and then look
59+
# for the new JDKs provided by Oracle.
60+
#
61+
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK ] ; then
62+
#
63+
# Apple JDKs
64+
#
65+
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
66+
fi
67+
68+
if [ -z "$JAVA_HOME" ] && [ -L /System/Library/Java/JavaVirtualMachines/CurrentJDK ] ; then
69+
#
70+
# Apple JDKs
71+
#
72+
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
73+
fi
74+
75+
if [ -z "$JAVA_HOME" ] && [ -L "/Library/Java/JavaVirtualMachines/CurrentJDK" ] ; then
76+
#
77+
# Oracle JDKs
78+
#
79+
export JAVA_HOME=/Library/Java/JavaVirtualMachines/CurrentJDK/Contents/Home
80+
fi
81+
82+
if [ -z "$JAVA_HOME" ] && [ -x "/usr/libexec/java_home" ]; then
83+
#
84+
# Apple JDKs
85+
#
86+
export JAVA_HOME=`/usr/libexec/java_home`
87+
fi
88+
;;
89+
esac
90+
91+
if [ -z "$JAVA_HOME" ] ; then
92+
if [ -r /etc/gentoo-release ] ; then
93+
JAVA_HOME=`java-config --jre-home`
94+
fi
95+
fi
96+
97+
if [ -z "$M2_HOME" ] ; then
98+
## resolve links - $0 may be a link to maven's home
99+
PRG="$0"
100+
101+
# need this for relative symlinks
102+
while [ -h "$PRG" ] ; do
103+
ls=`ls -ld "$PRG"`
104+
link=`expr "$ls" : '.*-> \(.*\)$'`
105+
if expr "$link" : '/.*' > /dev/null; then
106+
PRG="$link"
107+
else
108+
PRG="`dirname "$PRG"`/$link"
109+
fi
110+
done
111+
112+
saveddir=`pwd`
113+
114+
M2_HOME=`dirname "$PRG"`/..
115+
116+
# make it fully qualified
117+
M2_HOME=`cd "$M2_HOME" && pwd`
118+
119+
cd "$saveddir"
120+
# echo Using m2 at $M2_HOME
121+
fi
122+
123+
# For Cygwin, ensure paths are in UNIX format before anything is touched
124+
if $cygwin ; then
125+
[ -n "$M2_HOME" ] &&
126+
M2_HOME=`cygpath --unix "$M2_HOME"`
127+
[ -n "$JAVA_HOME" ] &&
128+
JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
129+
[ -n "$CLASSPATH" ] &&
130+
CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
131+
fi
132+
133+
# For Migwn, ensure paths are in UNIX format before anything is touched
134+
if $mingw ; then
135+
[ -n "$M2_HOME" ] &&
136+
M2_HOME="`(cd "$M2_HOME"; pwd)`"
137+
[ -n "$JAVA_HOME" ] &&
138+
JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`"
139+
# TODO classpath?
140+
fi
141+
142+
if [ -z "$JAVA_HOME" ]; then
143+
javaExecutable="`which javac`"
144+
if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then
145+
# readlink(1) is not available as standard on Solaris 10.
146+
readLink=`which readlink`
147+
if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then
148+
if $darwin ; then
149+
javaHome="`dirname \"$javaExecutable\"`"
150+
javaExecutable="`cd \"$javaHome\" && pwd -P`/javac"
151+
else
152+
javaExecutable="`readlink -f \"$javaExecutable\"`"
153+
fi
154+
javaHome="`dirname \"$javaExecutable\"`"
155+
javaHome=`expr "$javaHome" : '\(.*\)/bin'`
156+
JAVA_HOME="$javaHome"
157+
export JAVA_HOME
158+
fi
159+
fi
160+
fi
161+
162+
if [ -z "$JAVACMD" ] ; then
163+
if [ -n "$JAVA_HOME" ] ; then
164+
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
165+
# IBM's JDK on AIX uses strange locations for the executables
166+
JAVACMD="$JAVA_HOME/jre/sh/java"
167+
else
168+
JAVACMD="$JAVA_HOME/bin/java"
169+
fi
170+
else
171+
JAVACMD="`which java`"
172+
fi
173+
fi
174+
175+
if [ ! -x "$JAVACMD" ] ; then
176+
echo "Error: JAVA_HOME is not defined correctly." >&2
177+
echo " We cannot execute $JAVACMD" >&2
178+
exit 1
179+
fi
180+
181+
if [ -z "$JAVA_HOME" ] ; then
182+
echo "Warning: JAVA_HOME environment variable is not set."
183+
fi
184+
185+
CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
186+
187+
# For Cygwin, switch paths to Windows format before running java
188+
if $cygwin; then
189+
[ -n "$M2_HOME" ] &&
190+
M2_HOME=`cygpath --path --windows "$M2_HOME"`
191+
[ -n "$JAVA_HOME" ] &&
192+
JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
193+
[ -n "$CLASSPATH" ] &&
194+
CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
195+
fi
196+
197+
# traverses directory structure from process work directory to filesystem root
198+
# first directory with .mvn subdirectory is considered project base directory
199+
find_maven_basedir() {
200+
local basedir=$(pwd)
201+
local wdir=$(pwd)
202+
while [ "$wdir" != '/' ] ; do
203+
if [ -d "$wdir"/.mvn ] ; then
204+
basedir=$wdir
205+
break
206+
fi
207+
wdir=$(cd "$wdir/.."; pwd)
208+
done
209+
echo "${basedir}"
210+
}
211+
212+
# concatenates all lines of a file
213+
concat_lines() {
214+
if [ -f "$1" ]; then
215+
echo "$(tr -s '\n' ' ' < "$1")"
216+
fi
217+
}
218+
219+
export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-$(find_maven_basedir)}
220+
MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"
221+
222+
# Provide a "standardized" way to retrieve the CLI args that will
223+
# work with both Windows and non-Windows executions.
224+
MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@"
225+
export MAVEN_CMD_LINE_ARGS
226+
227+
WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
228+
229+
exec "$JAVACMD" \
230+
$MAVEN_OPTS \
231+
-classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \
232+
"-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \
233+
${WRAPPER_LAUNCHER} "$@"

0 commit comments

Comments
 (0)