2017-10-19 249 views
0

我有一個使用spring啓動的項目,我不能從wildfly10開始。如何選擇我想要上傳應用程序的方式?我是否使用Tomcat嵌入或野蠻?如何用wildfly10啓動springboot項目

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
    <exclusions> 
    <exclusion> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-tomcat</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

埃羅:

Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester; 
    at org.apache.tomcat.util.descriptor.tld.TldParser.<init>(TldParser.java:49) 
    at org.apache.tomcat.util.descriptor.tld.TldParser.<init>(TldParser.java:44) 
    at org.apache.jasper.servlet.TldScanner.<init>(TldScanner.java:84) 
    at org.apache.jasper.servlet.JasperInitializer.newTldScanner(JasperInitializer.java:118) 
    at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:99) 
    at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:186) 
    at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:171) 
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42) 
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.api.LegacyThreadSetupActionWrapper$1.call(LegacyThreadSetupActionWrapper.java:44) 
    at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:234) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:100) 
    at org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:82) 
    ... 6 more 

11:03:40,274 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "Licitar-0.0.1-SNAPSHOT.war")]) - failure description: { 
    "WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\"" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\": java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester; 
    Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester;"}, 
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\""], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined 
} 
11:03:40,281 ERROR [org.jboss.as.server] (management-handler-thread - 2) WFLYSRV0021: Deploy of deployment "Licitar-0.0.1-SNAPSHOT.war" was rolled back with the following failure message: 
{ 
    "WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\"" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\": java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester; 
    Caused by: java.lang.NoSuchMethodError: org.apache.tomcat.util.descriptor.DigesterFactory.newDigester(ZZLorg/apache/tomcat/util/digester/RuleSet;Z)Lorg/apache/tomcat/util/digester/Digester;"}, 
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host.\"/Licitar-0.0.1-SNAPSHOT\""], 
    "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined 
} 

觀測數據:我可以通過tomcat的禁運的啓動項目。

+0

清理了英文。刪除了求助請求,並提出了問題和問題。 –

回答

0

Spring Boot絕對可以與JEE容器一起使用,請查看這個存儲庫以獲取有關將Spring Boot應用程序部署爲戰爭的示例。

https://github.com/Pytry/bootiful-war-deployment 

看看「jee-example」模塊,讓我知道這對你是否適合野蠻人。 如果無法訪問您提供一些示例代碼,這將是很難牽制的錯誤,但這裏有一些事情,尋找和與示例比較:

你有擴展SpringBootServletInitializer一類?

import lombok.extern.slf4j.Slf4j; 
import org.springframework.beans.factory.annotation.Value; 
import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.boot.builder.SpringApplicationBuilder; 
import org.springframework.boot.web.support.SpringBootServletInitializer; 

@Slf4j 
@SpringBootApplication 
public class JeeServletInitializer extends SpringBootServletInitializer{ 

    @Value("${messageForUser}") 
    private String message; 

    @Value("${whatDoesTheFoxSay:'No body knows.'}") 
    private String whatDoesTheFoxSay; 

    public static void main(String[] args){ 

     SpringApplication.run(JeeServletInitializer.class, args); 
    } 

    @Override 
    public SpringApplicationBuilder configure(SpringApplicationBuilder application){ 

     log.info(
      "\n*********************\n" + 
       "What does the fox say?\n" + 
       whatDoesTheFoxSay + 
       "\n*********************\n"); 
     return application.sources(JeeServletInitializer.class); 
    } 
} 

您是不是排除tomcat的啓動依賴關係?

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
    <exclusions> 
    <exclusion> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-tomcat</artifactId> 
    </exclusion> 
    </exclusions> 
</dependency> 

你包括的javax.servlet:的javax.servlet-API版本適合您Wildfly的實例?

<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <scope>provided</scope> 
    <!--<version>3.1.0</version>--> 
</dependency> 
+0

我發現probelame在一個依賴項中,我使用了連接面。 –