簡體   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