繁体   English   中英

在Eclipse中,“ mvn spring-boot:run”和“添加到Tomcat服务器”之间有什么区别?

[英]What's the difference between “mvn spring-boot:run” and “Add to Tomcat server” in Eclipse?

我从此处下载了Spring-boot CXF Web服务样本。 我能够使用以下命令在Eclipse中成功运行它: 右键单击项目>运行方式> Maven build ...>并设置目标: spring-boot:run

服务器启动,所有内容都记录到控制台中。

接下来,我尝试将其部署在Eclipse中的Tomcat服务器上(请参见screenshot.png ),但是当服务器启动时,Spring并没有启动。 没有Spring信息登录到控制台

根据日志中的一行,它知道弹簧应该启动。 那为什么不能正常启动呢?

INFO: Spring WebApplicationInitializers detected on classpath: [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration@4ed48c2]

整个日志:

Led 07, 2016 3:39:18 ODP. org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:spring-boot-sample-ws-cxf' did not find a matching property.
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Server version:        Apache Tomcat/8.0.28
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Server built:          Oct 7 2015 18:25:21 UTC
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Server number:         8.0.28.0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Name:               Windows 10
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: OS Version:            10.0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Architecture:          amd64
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Java Home:             C:\Program Files\Java\jdk1.8.0_60\jre
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Version:           1.8.0_60-b27
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: JVM Vendor:            Oracle Corporation
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_BASE:         C:\Users\cerny\JavaProjects\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: CATALINA_HOME:         C:\Program Files\Tomcat 8.0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.base=C:\Users\cerny\JavaProjects\.metadata\.plugins\org.eclipse.wst.server.core\tmp0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dcatalina.home=C:\Program Files\Tomcat 8.0
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dwtp.deploy=C:\Users\cerny\JavaProjects\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Tomcat 8.0\endorsed
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.VersionLoggerListener log
INFO: Command line argument: -Dfile.encoding=Cp1250
Led 07, 2016 3:39:18 ODP. org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: 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\jdk1.8.0_60\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_65/bin/server;C:/Program Files/Java/jre1.8.0_65/bin;C:/Program Files/Java/jre1.8.0_65/lib/amd64;C:\Program Files\apache-maven-3.3.3\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\eclipse;;.
Led 07, 2016 3:39:18 ODP. org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Led 07, 2016 3:39:18 ODP. org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Led 07, 2016 3:39:18 ODP. org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Led 07, 2016 3:39:18 ODP. org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Led 07, 2016 3:39:18 ODP. org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1036 ms
Led 07, 2016 3:39:18 ODP. org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Led 07, 2016 3:39:18 ODP. org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.28
Led 07, 2016 3:39:25 ODP. org.apache.jasper.servlet.TldScanner scanJars
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.
Led 07, 2016 3:39:25 ODP. org.apache.catalina.core.ApplicationContext log
INFO: Spring WebApplicationInitializers detected on classpath: [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration@4ed48c2]
Led 07, 2016 3:39:25 ODP. org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Led 07, 2016 3:39:25 ODP. org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Led 07, 2016 3:39:25 ODP. org.apache.catalina.startup.Catalina start
INFO: Server startup in 7300 ms

从spring boot项目中生成的jar中将包含tomcat服务器。 您可以使用以下命令启动服务器

java -jar XXX.jar

我找到了无法启动的原因。 现在它为我工作。 为了在eclipse tomcat上运行,您需要将extends SpringBootServletInitializer添加到项目的主类App.java中。

所以结果看起来像

package com.foo.bar;

import some.imported.package
import another.imported.package

@SpringBootApplication
public class App extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM