Spring Tool Suite
Spring Tool Suite
jinia@jin:~$ tar xvzf ~/Downloads/spring-tool-suite-3.9.3.RELEASE-e4.7.3-linux-gtk-x86_64.tar.gz -C ~/Desktop/
sts-bundle/pivotal-tc-server-developer-3.2.9.RELEASE/
sts-bundle/pivotal-tc-server-developer-3.2.9.RELEASE/bash_completion/
sts-bundle/pivotal-tc-server-developer-3.2.9.RELEASE/conf/
sts-bundle/pivotal-tc-server-developer-3.2.9.RELEASE/lib/
sts-bundle/pivotal-tc-server-developer-3.2.9.RELEASE/licenses/
sts-bundle/sts-3.9.3.RELEASE/
... 중략 ...
Spring Initializr
https://start.spring.io 에서 demo project를 생성할 수 있음.
필요에 따라 dependency를 추가해서 project를 생성할 수 있음.
생성된 project는 eclipse에서 import 해오면 됨. sts가 필요없어 보임.
https://github.com/spring-io/initializr 에 소스 있음. eclipse 에서 import 해와서 maven install 을 수행해보았음. initializr-service 가 최종 결과물임.
Spring initializr 로 프로젝트를 생성해봄.. artifact 를 demo1 ~ demo4 까지 4개 생성해봄.
- demo1 : dependency 없이
- demo2 : web 추가해봄
- demo3 : web, jpa 추가해봄
- demo4 : jpa, quartz scheduler 추가해봄
압축 풀면, 파일의 종류는 똑같은걸 알수 있음.
jinia@jin:~/Documents/eclipse-workspace$ unzip ~/Downloads/demo1.zip -d ~/Documents/eclipse-workspace/
Archive: /home/jinia/Downloads/demo1.zip
creating: /home/jinia/Documents/eclipse-workspace/demo1/
inflating: /home/jinia/Documents/eclipse-workspace/demo1/mvnw
creating: /home/jinia/Documents/eclipse-workspace/demo1/.mvn/
creating: /home/jinia/Documents/eclipse-workspace/demo1/.mvn/wrapper/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/java/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/java/com/example/demo1/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/resources/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/java/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/java/com/example/demo1/
inflating: /home/jinia/Documents/eclipse-workspace/demo1/.gitignore
inflating: /home/jinia/Documents/eclipse-workspace/demo1/.mvn/wrapper/maven-wrapper.jar
inflating: /home/jinia/Documents/eclipse-workspace/demo1/.mvn/wrapper/maven-wrapper.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo1/mvnw.cmd
inflating: /home/jinia/Documents/eclipse-workspace/demo1/pom.xml
inflating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/java/com/example/demo1/Demo1Application.java
inflating: /home/jinia/Documents/eclipse-workspace/demo1/src/main/resources/application.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo1/src/test/java/com/example/demo1/Demo1ApplicationTests.java
jinia@jin:~/Documents/eclipse-workspace$ unzip ~/Downloads/demo2.zip -d ~/Documents/eclipse-workspace/
Archive: /home/jinia/Downloads/demo2.zip
creating: /home/jinia/Documents/eclipse-workspace/demo2/
inflating: /home/jinia/Documents/eclipse-workspace/demo2/mvnw
creating: /home/jinia/Documents/eclipse-workspace/demo2/.mvn/
creating: /home/jinia/Documents/eclipse-workspace/demo2/.mvn/wrapper/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/java/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/java/com/example/demo2/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/resources/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/resources/static/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/resources/templates/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/java/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/java/com/example/demo2/
inflating: /home/jinia/Documents/eclipse-workspace/demo2/.gitignore
inflating: /home/jinia/Documents/eclipse-workspace/demo2/.mvn/wrapper/maven-wrapper.jar
inflating: /home/jinia/Documents/eclipse-workspace/demo2/.mvn/wrapper/maven-wrapper.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo2/mvnw.cmd
inflating: /home/jinia/Documents/eclipse-workspace/demo2/pom.xml
inflating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/java/com/example/demo2/Demo2Application.java
inflating: /home/jinia/Documents/eclipse-workspace/demo2/src/main/resources/application.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo2/src/test/java/com/example/demo2/Demo2ApplicationTests.java
jinia@jin:~/Documents/eclipse-workspace$ unzip ~/Downloads/demo3.zip -d ~/Documents/eclipse-workspace/
Archive: /home/jinia/Downloads/demo3.zip
creating: /home/jinia/Documents/eclipse-workspace/demo3/
inflating: /home/jinia/Documents/eclipse-workspace/demo3/mvnw
creating: /home/jinia/Documents/eclipse-workspace/demo3/.mvn/
creating: /home/jinia/Documents/eclipse-workspace/demo3/.mvn/wrapper/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/java/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/java/com/example/demo3/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/resources/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/resources/static/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/resources/templates/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/java/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/java/com/example/demo3/
inflating: /home/jinia/Documents/eclipse-workspace/demo3/.gitignore
inflating: /home/jinia/Documents/eclipse-workspace/demo3/.mvn/wrapper/maven-wrapper.jar
inflating: /home/jinia/Documents/eclipse-workspace/demo3/.mvn/wrapper/maven-wrapper.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo3/mvnw.cmd
inflating: /home/jinia/Documents/eclipse-workspace/demo3/pom.xml
inflating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/java/com/example/demo3/Demo3Application.java
inflating: /home/jinia/Documents/eclipse-workspace/demo3/src/main/resources/application.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo3/src/test/java/com/example/demo3/Demo3ApplicationTests.java
jinia@jin:~/Documents/eclipse-workspace$ unzip ~/Downloads/demo4.zip -d ~/Documents/eclipse-workspace/
Archive: /home/jinia/Downloads/demo4.zip
creating: /home/jinia/Documents/eclipse-workspace/demo4/
inflating: /home/jinia/Documents/eclipse-workspace/demo4/mvnw
creating: /home/jinia/Documents/eclipse-workspace/demo4/.mvn/
creating: /home/jinia/Documents/eclipse-workspace/demo4/.mvn/wrapper/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/java/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/java/com/example/demo4/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/resources/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/java/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/java/com/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/java/com/example/
creating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/java/com/example/demo4/
inflating: /home/jinia/Documents/eclipse-workspace/demo4/.gitignore
inflating: /home/jinia/Documents/eclipse-workspace/demo4/.mvn/wrapper/maven-wrapper.jar
inflating: /home/jinia/Documents/eclipse-workspace/demo4/.mvn/wrapper/maven-wrapper.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo4/mvnw.cmd
inflating: /home/jinia/Documents/eclipse-workspace/demo4/pom.xml
inflating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/java/com/example/demo4/Demo4Application.java
inflating: /home/jinia/Documents/eclipse-workspace/demo4/src/main/resources/application.properties
inflating: /home/jinia/Documents/eclipse-workspace/demo4/src/test/java/com/example/demo4/Demo4ApplicationTests.java
jinia@jin:~/Documents/eclipse-workspace$
eclipse 에서 import 해서 pom.xml 를 확인해보면.. dependency만 조금 다름.
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/resources/application.properties ./demo2/src/main/resources/application.properties
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/resources/application.properties ./demo3/src/main/resources/application.properties
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/resources/application.properties ./demo4/src/main/resources/application.properties
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/java/com/example/demo1/Demo1Application.java ./demo2/src/main/java/com/example/demo2/Demo2Application.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/java/com/example/demo1/Demo1Application.java ./demo3/src/main/java/com/example/demo3/Demo3Application.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/main/java/com/example/demo1/Demo1Application.java ./demo4/src/main/java/com/example/demo4/Demo4Application.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/test/java/com/example/demo1/Demo1ApplicationTests.java ./demo2/src/main/java/com/example/demo2/Demo2ApplicationTests.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/test/java/com/example/demo1/Demo1ApplicationTests.java ./demo3/src/main/java/com/example/demo3/Demo3ApplicationTests.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/src/test/java/com/example/demo1/Demo1ApplicationTests.java ./demo4/src/main/java/com/example/demo4/Demo4ApplicationTests.java
... 중략 ...
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/pom.xml ./demo2/pom.xml
7c7
< <artifactId>demo1</artifactId>
---
> <artifactId>demo2</artifactId>
11c11
< <name>demo1</name>
---
> <name>demo2</name>
30c30
< <artifactId>spring-boot-starter</artifactId>
---
> <artifactId>spring-boot-starter-web</artifactId>
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/pom.xml ./demo3/pom.xml
7c7
< <artifactId>demo1</artifactId>
---
> <artifactId>demo3</artifactId>
11c11
< <name>demo1</name>
---
> <name>demo3</name>
30c30,34
< <artifactId>spring-boot-starter</artifactId>
---
> <artifactId>spring-boot-starter-data-jpa</artifactId>
> </dependency>
> <dependency>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-starter-web</artifactId>
jinia@jin:~/Documents/eclipse-workspace$ diff ./demo1/pom.xml ./demo4/pom.xml
7c7
< <artifactId>demo1</artifactId>
---
> <artifactId>demo4</artifactId>
11c11
< <name>demo1</name>
---
> <name>demo4</name>
30c30,34
< <artifactId>spring-boot-starter</artifactId>
---
> <artifactId>spring-boot-starter-data-jpa</artifactId>
> </dependency>
> <dependency>
> <groupId>org.springframework.boot</groupId>
> <artifactId>spring-boot-starter-quartz</artifactId>
jinia@jin:~/Documents/eclipse-workspace$
Getting Started Guides
- Building an Application with Spring Boot
- Building a RESTful Web Service
- Accessing GemFire Data with REST
- Accessing MongoDB Data with REST
- Accessing data with MySQL
- Accessing JPA Data with REST
- Accessing Neo4j Data with REST
- Consuming a RESTful Web Service
- Consuming a RESTful Web Service with AngularJS
- Consuming a RESTful Web Service with jQuery
- Consuming a RESTful Web Service with rest.js
- Securing a Web Application
- Building REST services with Spring
- React.js and Spring Data REST
- Building an Application with Spring Boot
- Creating API Documentation with Restdocs
- Enabling Cross Origin Requests for a RESTful Web Service
- Building a Hypermedia-Driven RESTful Web Service
- Circuit Breaker
- Serving Web Content
- Building an Application with Spring Boot
- Accessing Data with GemFire
- Accessing Data with JPA
- Accessing Data with MongoDB
- Accessing data with MySQL
- Testing the Web Layer
- Building a RESTful Web Service
- Converting a Spring Boot JAR Application to a WAR
Converting a Spring Boot JAR Application to a WAR
tomcat 7.x 가 있길래, 그걸 사용했더니 오류가 발생함. tomcat 8을 설치해서 tomcat 8에 war를 deploy했더니 오류 없음.
Apr 10, 2018 6:01:28 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /home/jinia/Desktop/apache-tomcat-7.0.85/webapps/demo2-0.0.1-SNAPSHOT.war
Apr 10, 2018 6:01:29 PM org.apache.catalina.startup.TldConfig execute
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
18:01:29.645 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Adding PropertySource 'servletConfigInitParams' with lowest search precedence
18:01:29.649 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Adding PropertySource 'servletContextInitParams' with lowest search precedence
18:01:29.654 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Adding PropertySource 'jndiProperties' with lowest search precedence
18:01:29.654 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Adding PropertySource 'systemProperties' with lowest search precedence
18:01:29.654 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Adding PropertySource 'systemEnvironment' with lowest search precedence
18:01:29.655 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Initialized StandardServletEnvironment with PropertySources [StubPropertySource@438675141 {name='servletConfigInitParams', properties=java.lang.Object@1f61811e}, StubPropertySource@1870136894 {name='servletContextInitParams', properties=java.lang.Object@13c3c5d7}, JndiPropertySource@619137764 {name='jndiProperties', properties=org.springframework.jndi.JndiLocatorDelegate@379d4617}, MapPropertySource@419163948 {name='systemProperties', properties={sun.desktop=gnome, awt.toolkit=sun.awt.X11.XToolkit, file.encoding.pkg=sun.io, java.specification.version=9, sun.cpu.isalist=, sun.jnu.encoding=UTF-8, java.class.path=/home/jinia/Desktop/apache-tomcat-7.0.85/bin/bootstrap.jar:/home/jinia/Desktop/apache-tomcat-7.0.85/bin/tomcat-juli.jar, java.vm.vendor=Oracle Corporation, sun.arch.data.model=64, java.vendor.url=http://java.oracle.com/, catalina.useNaming=true, user.timezone=Asia/Seoul, os.name=Linux, java.vm.specification.version=9, sun.java.launcher=SUN_STANDARD, user.country=US, sun.boot.library.path=/home/jinia/Desktop/jdk-9.0.4/lib, sun.java.command=org.apache.catalina.startup.Bootstrap start, jdk.debug=release, sun.cpu.endian=little, user.home=/home/jinia, user.language=en, java.specification.vendor=Oracle Corporation, java.naming.factory.url.pkgs=org.apache.naming, java.home=/home/jinia/Desktop/jdk-9.0.4, ignore.endorsed.dirs=, file.separator=/, java.vm.compressedOopsMode=32-bit, line.separator=
, java.specification.name=Java Platform API Specification, java.vm.specification.vendor=Oracle Corporation, java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment, package.access=sun.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.naming.resources.,org.apache.tomcat., package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache.jasper.,org.apache.naming.,org.apache.tomcat., jdk.tls.ephemeralDHKeySize=2048, server.loader=, java.util.logging.config.file=/home/jinia/Desktop/apache-tomcat-7.0.85/conf/logging.properties, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.runtime.version=9.0.4+11, java.naming.factory.initial=org.apache.naming.java.javaURLContextFactory, user.name=jinia, path.separator=:, common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar, os.version=4.13.0-16-generic, java.runtime.name=Java(TM) SE Runtime Environment, file.encoding=UTF-8, java.vm.name=Java HotSpot(TM) 64-Bit Server VM, org.apache.catalina.startup.ContextConfig.jarsToSkip=, java.vendor.url.bug=http://bugreport.java.com/bugreport/, java.io.tmpdir=/home/jinia/Desktop/apache-tomcat-7.0.85/temp, catalina.home=/home/jinia/Desktop/apache-tomcat-7.0.85, java.version=9.0.4, java.util.concurrent.ForkJoinPool.common.threadFactory=org.apache.catalina.startup.SafeForkJoinWorkerThreadFactory, user.dir=/home/jinia/Desktop/apache-tomcat-7.0.85/bin, os.arch=amd64, java.vm.specification.name=Java Virtual Machine Specification, java.awt.printerjob=sun.print.PSPrinterJob, sun.os.patch.level=unknown, tomcat.util.scan.DefaultJarScanner.jarsToSkip=bootstrap.jar,commons-daemon.jar,tomcat-juli.jar,annotations-api.jar,el-api.jar,jsp-api.jar,servlet-api.jar,websocket-api.jar,catalina.jar,catalina-ant.jar,catalina-ha.jar,catalina-tribes.jar,jasper.jar,jasper-el.jar,ecj-*.jar,tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,tomcat-jni.jar,tomcat-spdy.jar,tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,tomcat-juli-adapters.jar,catalina-jmx-remote.jar,catalina-ws.jar,tomcat-jdbc.jar,tools.jar,commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,commons-math*.jar,commons-pool*.jar,jstl.jar,taglibs-standard-spec-*.jar,geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,ant.jar,ant-junit*.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,jmx-tools.jar,jta*.jar,log4j.jar,log4j-1*.jar,mail*.jar,slf4j*.jar,xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,junit.jar,junit-*.jar,hamcrest*.jar,org.hamcrest*.jar,ant-launcher.jar,cobertura-*.jar,asm-*.jar,dom4j-*.jar,icu4j-*.jar,jaxen-*.jar,jdom-*.jar,jetty-*.jar,oro-*.jar,servlet-api-*.jar,tagsoup-*.jar,xmlParserAPIs-*.jar,xom-*.jar, catalina.base=/home/jinia/Desktop/apache-tomcat-7.0.85, shared.loader=, java.util.logging.manager=org.apache.juli.ClassLoaderLogManager, java.library.path=/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib, java.vm.info=mixed mode, java.vendor=Oracle Corporation, java.vm.version=9.0.4+11, org.apache.catalina.startup.TldConfig.jarsToSkip=tomcat7-websocket.jar, sun.io.unicode.encoding=UnicodeLittle, tomcat.util.buf.StringCache.byte.enabled=true, java.class.version=53.0}}, SystemEnvironmentPropertySource@362507417 {name='systemEnvironment', properties={NVM_RC_VERSION=, PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/jinia/Desktop/jdk-9.0.4/bin, LC_MEASUREMENT=en_SG.UTF-8, XMODIFIERS=@im=ibus, LC_TELEPHONE=en_SG.UTF-8, XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop, GDMSESSION=gnome, LC_TIME=en_SG.UTF-8, PAPERSIZE=a4, TEXTDOMAINDIR=/usr/share/locale/, GTK_IM_MODULE=ibus, DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus, XDG_CURRENT_DESKTOP=GNOME, JOURNAL_STREAM=9:29464, COLORTERM=truecolor, QT4_IM_MODULE=xim, LC_PAPER=en_SG.UTF-8, SESSION_MANAGER=local/jin:@/tmp/.ICE-unix/1790,unix/jin:/tmp/.ICE-unix/1790, USERNAME=jinia, LOGNAME=jinia, PWD=/home/jinia/Desktop/apache-tomcat-7.0.85/bin, IM_CONFIG_PHASE=2, LANGUAGE=en_US:en, GJS_DEBUG_TOPICS=JS ERROR;JS LOG, NVM_CD_FLAGS=, SHELL=/bin/bash, LESSOPEN=| /usr/bin/lesspipe %s, LC_ADDRESS=en_SG.UTF-8, OLDPWD=/home/jinia/Desktop/apache-tomcat-8.5.30/bin, GNOME_DESKTOP_SESSION_ID=this-is-deprecated, CLUTTER_IM_MODULE=xim, TEXTDOMAIN=im-config, XDG_SESSION_DESKTOP=gnome, LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:, SHLVL=2, LC_IDENTIFICATION=en_SG.UTF-8, LESSCLOSE=/usr/bin/lesspipe %s %s, LC_MONETARY=en_SG.UTF-8, QT_IM_MODULE=ibus, JAVA_HOME=/home/jinia/Desktop/jdk-9.0.4, TERM=xterm-256color, XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg, LANG=en_US.UTF-8, XDG_SESSION_ID=2, XDG_SESSION_TYPE=wayland, DISPLAY=:0, WAYLAND_DISPLAY=wayland-0, LC_NAME=en_SG.UTF-8, _=/home/jinia/Desktop/apache-tomcat-7.0.85/bin/startup.sh, NVM_DIR=/home/jinia/.nvm, DESKTOP_SESSION=gnome, JDK_JAVA_OPTIONS= --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED, USER=jinia, XDG_MENU_PREFIX=gnome-, VTE_VERSION=4804, LC_NUMERIC=en_SG.UTF-8, GJS_DEBUG_OUTPUT=stderr, SSH_AUTH_SOCK=/run/user/1000/keyring/ssh, XDG_SEAT=seat0, XDG_VTNR=2, XDG_RUNTIME_DIR=/run/user/1000, HOME=/home/jinia}}]
18:01:29.658 [localhost-startStop-2] DEBUG org.springframework.web.context.support.StandardServletEnvironment - Replacing PropertySource 'servletContextInitParams' with 'servletContextInitParams'
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.0.RELEASE)
2018-04-10 18:01:30.326 INFO 20126 --- [ost-startStop-2] com.example.demo2.Demo2Application : Starting Demo2Application on jin with PID 20126 (/home/jinia/Desktop/apache-tomcat-7.0.85/webapps/demo2-0.0.1-SNAPSHOT/WEB-INF/classes started by jinia in /home/jinia/Desktop/apache-tomcat-7.0.85/bin)
2018-04-10 18:01:30.337 INFO 20126 --- [ost-startStop-2] com.example.demo2.Demo2Application : No active profile set, falling back to default profiles: default
2018-04-10 18:01:30.428 INFO 20126 --- [ost-startStop-2] ConfigServletWebServerApplicationContext : Refreshing org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@20e9eeef: startup date [Tue Apr 10 18:01:30 KST 2018]; root of context hierarchy
2018-04-10 18:01:31.488 WARN 20126 --- [ost-startStop-2] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/el/ELManager
2018-04-10 18:01:31.498 INFO 20126 --- [ost-startStop-2] ConditionEvaluationReportLoggingListener :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-04-10 18:01:31.506 ERROR 20126 --- [ost-startStop-2] o.s.boot.SpringApplication : Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/el/ELManager
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1710) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:205) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:709) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:534) ~[spring-context-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:155) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:135) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87) [spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172) [spring-web-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5630) [catalina.jar:7.0.85]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) [catalina.jar:7.0.85]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015) [catalina.jar:7.0.85]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991) [catalina.jar:7.0.85]
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) [catalina.jar:7.0.85]
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127) [catalina.jar:7.0.85]
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020) [catalina.jar:7.0.85]
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514) [na:na]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) [na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) [na:na]
at java.base/java.lang.Thread.run(Thread.java:844) [na:na]
Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:88) ~[hibernate-validator-6.0.7.Final.jar:6.0.7.Final]
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:47) ~[hibernate-validator-6.0.7.Final.jar:6.0.7.Final]
at org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultMessageInterpolator(ConfigurationImpl.java:461) ~[hibernate-validator-6.0.7.Final.jar:6.0.7.Final]
at org.springframework.boot.validation.MessageInterpolatorFactory.getObject(MessageInterpolatorFactory.java:54) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator$Delegate.<init>(ConfigurationPropertiesJsr303Validator.java:71) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.<init>(ConfigurationPropertiesJsr303Validator.java:43) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.getIfJsr303Present(ConfigurationPropertiesJsr303Validator.java:64) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesBinder.<init>(ConfigurationPropertiesBinder.java:69) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.afterPropertiesSet(ConfigurationPropertiesBindingPostProcessor.java:78) ~[spring-boot-2.0.0.RELEASE.jar:2.0.0.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706) ~[spring-beans-5.0.4.RELEASE.jar:5.0.4.RELEASE]
... 29 common frames omitted
Apr 10, 2018 6:01:31 PM org.apache.catalina.core.ContainerBase addChildInternal
SEVERE: ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/demo2-0.0.1-SNAPSHOT]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: javax/el/ELManager
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1710)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:583)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:205)
at org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors(PostProcessorRegistrationDelegate.java:205)
at org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors(AbstractApplicationContext.java:709)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:534)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:388)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:327)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.run(SpringBootServletInitializer.java:155)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.createRootApplicationContext(SpringBootServletInitializer.java:135)
at org.springframework.boot.web.servlet.support.SpringBootServletInitializer.onStartup(SpringBootServletInitializer.java:87)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:172)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5630)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
... 10 more
Caused by: java.lang.NoClassDefFoundError: javax/el/ELManager
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.buildExpressionFactory(ResourceBundleMessageInterpolator.java:88)
at org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator.<init>(ResourceBundleMessageInterpolator.java:47)
at org.hibernate.validator.internal.engine.ConfigurationImpl.getDefaultMessageInterpolator(ConfigurationImpl.java:461)
at org.springframework.boot.validation.MessageInterpolatorFactory.getObject(MessageInterpolatorFactory.java:54)
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator$Delegate.<init>(ConfigurationPropertiesJsr303Validator.java:71)
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.<init>(ConfigurationPropertiesJsr303Validator.java:43)
at org.springframework.boot.context.properties.ConfigurationPropertiesJsr303Validator.getIfJsr303Present(ConfigurationPropertiesJsr303Validator.java:64)
at org.springframework.boot.context.properties.ConfigurationPropertiesBinder.<init>(ConfigurationPropertiesBinder.java:69)
at org.springframework.boot.context.properties.ConfigurationPropertiesBindingPostProcessor.afterPropertiesSet(ConfigurationPropertiesBindingPostProcessor.java:78)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1769)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1706)
... 29 more
Apr 10, 2018 6:01:31 PM org.apache.catalina.startup.HostConfig deployWAR
SEVERE: Error deploying web application archive /home/jinia/Desktop/apache-tomcat-7.0.85/webapps/demo2-0.0.1-SNAPSHOT.war
java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/demo2-0.0.1-SNAPSHOT]]
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1019)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:514)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.base/java.lang.Thread.run(Thread.java:844)
Apr 10, 2018 6:01:31 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deployment of web application archive /home/jinia/Desktop/apache-tomcat-7.0.85/webapps/demo2-0.0.1-SNAPSHOT.war has finished in 2,954 ms