이클립스 톰켓에서 Server ____ failed to start.

2019. 4. 10. 10:5499. 정리전 - IT/11. Java

multi gragleをsingleで割合後、tomcat起動ができなくなりました。

Startメニュー押下!

そのローグ

4월 10, 2019 10:19:27 오전 org.apache.tomcat.util.digester.SetPropertiesRule begin
경고: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:trading.DonzBox.com' did not find a matching property.
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Server version:        Apache Tomcat/8.5.24
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Server built:          Nov 27 2017 13:05:30 UTC
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Server number:         8.5.24.0
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: OS Name:               Windows 10
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: OS Version:            10.0
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Architecture:          amd64
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Java Home:             C:\Program Files\Java\jre1.8.0_181
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: JVM Version:           1.8.0_181-b13
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: JVM Vendor:            Oracle Corporation
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: CATALINA_BASE:         D:\My Data\WWW\App Source\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: CATALINA_HOME:         D:\My Data\WWW\Web Service\apache-tomcat-8.5.24
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:13001
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -javaagent:D:\My Data\eclips\eclipse 2019-03-R\configuration\org.eclipse.osgi\409\0\.cp\lib\javaagent-shaded.jar
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -Dcatalina.base=D:\My Data\WWW\App Source\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -Dcatalina.home=D:\My Data\WWW\Web Service\apache-tomcat-8.5.24
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -Dwtp.deploy=D:\My Data\WWW\App Source\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -Djava.endorsed.dirs=D:\My Data\WWW\Web Service\apache-tomcat-8.5.24\endorsed
4월 10, 2019 10:19:27 오전 org.apache.catalina.startup.VersionLoggerListener log
정보: Command line argument: -Dfile.encoding=UTF-8
4월 10, 2019 10:19:27 오전 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
정보: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [C:\Program Files\Java\jre1.8.0_181\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_181/bin/server;C:/Program Files/Java/jre1.8.0_181/bin;C:/Program Files/Java/jre1.8.0_181/lib/amd64;%SystemRoot%\system32\WBEM;C:\WINDOWS\system32\WBEM;C:\WINDOWS\system32\WBEM;C:\WINDOWS\system32\WBEM;C:\WINDOWS\system32\WBEM;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;D:\My Data\WWW\Build Factory\VisualSVN Server Enterprise 3.6.0\bin;C:\Program Files\PuTTY\;C:\WINDOWS\System32\OpenSSH\;C:\Python27;C:\Python27\Scripts;C:\Ruby25-x64\bin;C:\Program Files\Git\cmd;C:\Users\Donz\AppData\Local\Microsoft\WindowsApps;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Ruby25-x64\bin;C:\Users\Donz\AppData\Local\Microsoft\WindowsApps;;D:\My Data\eclips\eclipse 2019-03-R;;.]
4월 10, 2019 10:19:27 오전 org.apache.coyote.AbstractProtocol init
정보: Initializing ProtocolHandler ["http-nio-XXXX"]
4월 10, 2019 10:19:28 오전 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
정보: Using a shared selector for servlet write/read
4월 10, 2019 10:19:28 오전 org.apache.coyote.AbstractProtocol init
정보: Initializing ProtocolHandler ["https-jsse-nio-XXXX"]
4월 10, 2019 10:19:28 오전 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
정보: Using a shared selector for servlet write/read
4월 10, 2019 10:19:28 오전 org.apache.coyote.AbstractProtocol init
정보: Initializing ProtocolHandler ["ajp-nio-XXXX"]
4월 10, 2019 10:19:28 오전 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
정보: Using a shared selector for servlet write/read
4월 10, 2019 10:19:28 오전 org.apache.catalina.startup.Catalina load
정보: Initialization processed in 2880 ms
4월 10, 2019 10:19:28 오전 org.apache.catalina.core.StandardService startInternal
정보: Starting service [Catalina]
4월 10, 2019 10:19:28 오전 org.apache.catalina.core.StandardEngine startInternal
정보: Starting Servlet Engine: Apache Tomcat/8.5.24
4월 10, 2019 10:19:29 오전 org.apache.jasper.servlet.TldScanner scanJars
정보: 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.
4월 10, 2019 10:19:37 오전 org.apache.jasper.servlet.TldScanner scanJars
정보: 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.
4월 10, 2019 10:19:37 오전 org.apache.catalina.core.ApplicationContext log
정보: 2 Spring WebApplicationInitializers detected on classpath                                                                             

あら?ローグはここまで?そしてこんなエラーが出た!

何の情報もないでデバッグは不可能!

Googlingでは色んな解決方があったんですが、私の場合はこんなことでした。

application.properties

spring.profiles.active=localPc

localPc != localPC

 

____Application.java の run メソッドにbreak point掛けて

eclipse plugin の Spring Boot App で起動したらデバッグが可能になりました。

org.springframework.boot.devtools.restart.RestartLauncherのrun()を実行した後もう以上進まなしで止まるけど、

/*
 * Copyright 2012-2015 the original author or authors.
 *
 * Licensed 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.
 */

package org.springframework.boot.devtools.restart;

import java.lang.reflect.Method;

/**
 * Thread used to launch a restarted application.
 *
 * @author Phillip Webb
 */
class RestartLauncher extends Thread {

private final String mainClassName;

private final String[] args;

private Throwable error;

RestartLauncher(ClassLoader classLoader, String mainClassName, String[] args,
UncaughtExceptionHandler exceptionHandler) {
this.mainClassName = mainClassName;
this.args = args;
setName("restartedMain");
setUncaughtExceptionHandler(exceptionHandler);
setDaemon(false);
setContextClassLoader(classLoader);
}

@Override
public void run() {
try {
Class<?> mainClass = getContextClassLoader().loadClass(this.mainClassName);
Method mainMethod = mainClass.getDeclaredMethod("main", String[].class);
mainMethod.invoke(null, new Object[] { this.args });
}
catch (Throwable ex) {
this.error = ex;
getUncaughtExceptionHandler().uncaughtException(this, ex);
}
}

public Throwable getError() {
return this.error;
}

}

どんな理由で止まったかは分からないで、ただ

環境設定パラメータの大文字小文字が一致しなかったから起動中中止されました。しか分からない状態です。

어쨌든

application.properties 의  spring.profiles.active=localPc

부분을  spring.profiles.active=localPC

로 고쳐주고

project clean, tomcat clean 을 해주고

package explorer 의 project 에서 우클릭 후 Project Facets 에 버전을 맞춰주고

왼쪽 tab의 Runtimes 에 tomcat 에서 설정한 trading 를 선택한 후

다시 기동해 보니 정상적으로 동작하였다.

1. Spring Boot App 실행 (정상기동되어야 함)

2. Servers 탭의 해당 프로젝트 우클릭 후 Tomcat 의 Modules 탭의 Path 를 코딩에서 원하는 Path로 맞춰!
   나의 경우는 / 였음

3. Spring Boot App 으로는 기동이 잘 되는데, Tomcat로 기동이 안된다면 Server를 지웠다가 다시 설정해 보자.

왜 그런지는 당췌 알 수가 없네........