스프링 CLI 설치 (Mac OS X, Homebrew)
올해 두번째 책으로 스프링부트 코딩공작소라는 책을 읽고 있다.
스프링에 대해 잘 모르기 때문에 책의 내용이 다소 어려운 내용이 있지만 꾸역 꾸역 읽어 보려고 한다.
우선 첫 장에서 스프링 시작하기 전에 스프링 CLI(Command-Line Interface) 설치하는 과정에 대한 이야기이다.
스프링 부트 명령줄 인터페이스(CLI)는 스프링 애플리케이션을 그루비로 개발하는 강력한 기능을 제공하여 자바 애플리케이션에서 흔히 발생하는 문제를 최소화한다. 스프링 부트 CLI를 사용하면 게터와 세터, public이나 private 등 접근 제어자, 세미콜론, return키워드가 필요 없다. 대부분은 import 문까지 제거할 수 있다. 또 애플리케이션이 명령줄에서 스크립트처럼 작동하므로 빌드 명세도 필요 없다. - 책 내용 중 -
개발 장비가 Macbook-pro Mac OS X이다 보니 Homebrew로 CLI로 설치를 했는데 비교적 간단하고 빠르게 설치가 된다. 맥북에 Homebrew가 설치되어 있다면 ^^
맥북에 Homebrew설치 방법은 아래 URL를 참고
2018/05/02 - [IT.인터넷/OS] - Mac Telnet 설치.
http://brew.sh 사이트에 들어가보니, 대문에 설치 명령어가 바로 나온다. ㅎㅎ
그다음 Homebrew로 CLI를 설치하려면 Pivotal탭을 태핑해야 하는데 태핑이란( tapping)은 Homebrew에 리포지토리를 추가하는 방법인데 스프링과 스프링 부트를 지원하는 Pivotal사에서 스프링 부터 CLI를 Homebrew로 설치할 수 있도록 탭(tap)을 제공하고 있다.
$ brew tap pivotal/tap
younghuui-MacBook-Pro:~ younghumin$ brew tap pivotal/tap
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> New Formulae
anycable-go hexyl nqp sloc
atomist-cli interactive-rebase-tool pass-otp swagger-codegen@2
dav1d istioctl rakudo switch-lan-play
dhall jmxterm react-native-cli tass64
esptool kubeseal redis@4.0 termtosvg
gambit-scheme libnova ruby@2.5
ghr moarvm ship
==> Updated Formulae
gradle ✔ firebase-cli libidn2 qpid-proton
abcm2ps fish libjwt r
akamai fluxctl libmicrohttpd rabbitmq
algernon flyway libnice re2
amazon-ecs-cli fmt libpng rebar3
ammonite-repl fn libpsl recutils
angle-grinder fonttools librealsense redis
angular-cli freetds libressl repo
anjuta fselect librsvg restic
annie futhark libsamplerate riemann-client
ansible fx libsecret rke
ansifilter gammaray libsodium robot-framework
antlr gauche libssh rom-tools
antlr4-cpp-runtime gdal libstfl roswell
apache-drill gdb libuv rpm
apache-flink gdcm libvirt rswift
apache-geode geeqie libvmaf ruby
arcade-learning-environment gegl libxml2 ruby-build
astrometry-net geos libxmlsec1 rust
aubio get_iplayer libxslt salt
autorest gexiv2 linkerd sbcl
aws-sdk-cpp git llvm sbt
awscli git-quick-stats lmdb scalapack
babel gitbucket logstash schismtracker
babl gitlab-gem logtalk scipy
ballerina gitlab-runner lsdvd shellshare
basex glib lxc signify-osx
bash global mackup sip
bdw-gc gmic macvim siril
bigloo gmsh makensis skaffold
binaryen gmt mame skopeo
bind gnome-latex mapserver smartmontools
bison gnu-sed mariadb-connector-c solr
bitcoin gnu-tar mariadb@10.2 source-to-image
blackbox gnupg mas sox
blast gnuplot maxwell sphinx-doc
boost gnuradio mdcat spotbugs
bullet gnutls meson sqlcipher
cabextract go micronaut sqlmap
caf go-bindata midnight-commander statik
caffe go@1.10 mikutter stellar-core
cake gobject-introspection minio subversion
capstone gocryptfs minio-mc sundials
catimg godep mint supervisor
ceres-solver goenv mkcert swi-prolog
certbot golang-migrate mkl-dnn swiftformat
cfitsio gopass mkvtoolnix swiftlint
cgit goreleaser mockserver syncthing
cglm gowsdl mono sysbench
chakra gpsbabel mosquitto sysdig
checkstyle grafana mozjpeg tbb
chronograf grakn mruby tcc
circleci graph-tool mysql tcpreplay
citus graphite2 nasm telegraf
clblast grep nativefier teleport
clojure groff neovim terraform
cmake groovy netcdf terragrunt
cockroach grpc netpbm tgui
cocoapods gst-plugins-ugly newsboat theharvester
cointop gst-python nginx tika
commandbox gstreamermm nnn tippecanoe
conan gtk+3 node tmuxinator-completion
confluent-oss gtk-doc node-build tomcat
container-diff gtkmm3 node@10 tomcat@8
cp2k gzip node@6 tomee-webprofile
create-dmg handbrake node@8 topgrade
cryptopp haproxy nodenv tox
curl-openssl harfbuzz nsd traefik
cython haste-client numpy translate-shell
dartsim helmfile nuxeo travis
dcd highlight nwchem ucloud
dependency-check http-parser octave uhd
dfmt hub opam unbound
diamond hugo open-mpi unnethack
diceware hwloc openblas urh
diffutils hydra opencoarrays uriparser
django-completion hyperfine openconnect vala
dlib icemon opencv verilator
dmd imagemagick opencv@2 vert.x
dnscontrol immortal openfortivpn vice
dnscrypt-wrapper isync openldap vim
docfx itstool openmsx vim@7.4
docker-machine-parallels jabba openvdb vips
doitlive jboss-forge orc-tools visp
dosbox-x jenkins osrm-backend vte3
dovecot jhipster pagmo weaver
doxygen jsonnet paket weboob
dpkg kakoune parallel webpack
druid kapacitor parallelstl weechat
dscanner kibana pdfpc wget
dub kibana@5.6 pdftoedn whois
dvm kitchen-sync percona-server wireguard-go
dwm knot-resolver perl wireguard-tools
e2fsprogs kontena petsc woboq_codebrowser
easyengine kops petsc-complex wolfssl
ed kubeless pgbadger wp-cli
efl kubernetes-cli pgcli wp-cli-completion
eigen kubernetes-helm pgweb wpscan
elasticsearch languagetool php wtf
emacs-clang-complete-async laszip php-code-sniffer wxmaxima
embulk ldc php-cs-fixer x264
emscripten leiningen picard-tools xcodegen
envconsul leptonica pilosa xonsh
erlang less pixman xsimd
erlang@20 libassuan plantuml xtensor
eslint libav pngquant ydcv
ethereum libbi podofo yle-dl
evince libccd postgis you-get
exiv2 libcds pre-commit youtube-dl
exploitdb libcec presto z3
eye-d3 libcerf primesieve zeromq
fauna-shell libcouchbase prometheus zim
fb-client libdazzle protobuf znc
fbi-servefiles libedit pulumi zola
ffmpeg libetpan pushpin zsh-completions
ffmpeg2theora libgpg-error pygitup zstd
ffmpeg@2.8 libgsf python zurl
ffmpegthumbnailer libgxps qemu
ffms2 libhttpserver qmmp
==> Deleted Formulae
cctools ffmbc gradle@2.14 ld64 pyexiv2
cctools-headers gnome-doc-utils gv php@5.6 rock
==> Tapping pivotal/tap
Cloning into '/usr/local/Homebrew/Library/Taps/pivotal/homebrew-tap'...
remote: Enumerating objects: 17, done.
remote: Counting objects: 100% (17/17), done.
remote: Compressing objects: 100% (16/16), done.
remote: Total 17 (delta 0), reused 8 (delta 0), pack-reused 0
Unpacking objects: 100% (17/17), done.
Tapped 12 formulae (55 files, 42KB).
탭을 추가한 뒤 CLI 설치를 한다.
$ brew intall springboot
younghuui-MacBook-Pro:~ younghumin$ brew install springboot
==> Installing springboot from pivotal/tap
==> Downloading https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/2.1.1.RELEASE/spring-boot-cli-2.
######################################################################## 100.0%
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
zsh completions have been installed to:
/usr/local/share/zsh/site-functions
==> Summary
🍺 /usr/local/Cellar/springboot/2.1.1.RELEASE: 7 files, 11.9MB, built in 5 seconds
younghuui-MacBook-Pro:~ younghumin$ spring --version
Spring CLI v2.1.1.RELEASE
설치된 버전 확인까지 완료
$ spring --version
'프로그래밍 > Spring' 카테고리의 다른 글
STS(Spring Tool Suite4, Eclipse) 자동 import 설정 방법 (0) | 2019.01.09 |
---|---|
스프링 부트 CLI에서 Initializr사용 (0) | 2019.01.08 |
@Resource 어노테이션 (0) | 2018.12.19 |
@Autowired 어노테이션 (0) | 2018.12.18 |
@Required 어노테이션 (0) | 2018.12.18 |