Deo*_*ooK 4 java maven wildfly spring-boot
我试图建立一个简单的应用程序以在Wildfly 14上使用SpringBoot 2.1.1和Java 11(因为Eclipse不支持Wildfly 15)。
部署失败,因为Wildfly在项目中找不到CDI BeanManager。我只是尝试遵循简单的(官方)教程,所以我不明白为什么会出现错误。
这是代码:
pom.xml
<properties>
<start-class>main</start-class>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- Package as an executable jar -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
应用程序
package main;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@EnableAutoConfiguration
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
51:15,966 INFO [org.jboss.as.clustering.infinispan](ServerService线程池-72)WFLYCLINF0002:从ejb容器启动了客户端映射缓存12:51:16,075 INFO [io.undertow.servlet](ServerService线程池-85)在类路径12:51:16,153上检测到1个Spring WebApplicationInitializers INFO [javax.enterprise.resource.webcontainer.jsf.config](ServerService线程池-85)为上下文'/ SpringBoot-初始化Mojarra 2.3.5.SP2 0.0.1'12:51:16,761严重[javax.enterprise.resource.webcontainer.jsf.config](ServerService线程池-85)部署期间的严重错误::com.sun.faces.config.ConfigurationException:工厂'javax .faces.lifecycle.ClientWindowFactory'的配置不正确。在com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:
12:51:16,761错误[org.jboss.msc.service.fail](ServerService线程池-85)MSC000001:无法启动服务jboss.deployment.unit。“ SpringBoot-0.0.1.war” .undertow-deployment :服务jboss.deployment.unit中的org.jboss.msc.service.StartException。“ SpringBoot-0.0.1.war” .undertow-deployment:java.lang.RuntimeException:java.lang.RuntimeException:com.sun.faces。 config.ConfigurationException:未正确配置工厂'javax.faces.lifecycle.ClientWindowFactory'。在org.wildfly.extension.undertow.deployment.UndertowDeploymentService $ 1.run(UndertowDeploymentService.java:81)在java.base / java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:515)在Java org.jboss.threads.JBossThread.run(JBossThread.java:485)的.base / java.lang.Thread.run(Thread.java:825)原因:java。lang.RuntimeException:java.lang.RuntimeException:com.sun.faces.config.ConfigurationException:未正确配置工厂'javax.faces.lifecycle.ClientWindowFactory'。在org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:96)在io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:252)在org.wildfly.extension.undertow.deployment .UndertowDeploymentService $ 1.run(UndertowDeploymentService.java:78)... 8个其他原因:java.lang.RuntimeException:com.sun.faces.config.ConfigurationException:Factory'javax.faces.lifecycle.ClientWindowFactory'的配置不正确。在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:315)在io.undertow.servlet.core.ApplicationListeners处。io的io.undertow.servlet.core.DeploymentManagerImpl $ 1.call(DeploymentManagerImpl.java:216)的contextInitialized(ApplicationListeners.java:187)io的io.undertow.servlet.core.DeploymentManagerImpl $ 1.call(DeploymentManagerImpl.java:185)的io .undertow.servlet.core.ServletRequestContextThreadSetupAction $ 1.call(ServletRequestContextThreadSetupAction.java:42)...在io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:250)...更多10位原因:com。 sun.faces.config.ConfigurationException:未正确配置工厂'javax.faces.lifecycle.ClientWindowFactory'。在com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:357)...在com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:237)...
ConfigurationException:未正确配置工厂'javax.faces.lifecycle.ClientWindowFactory'。引起原因:com.sun.faces.config.ConfigurationException:未正确配置工厂'javax.faces.lifecycle.ClientWindowFactory'。引起原因:javax.faces.FacesException:无法找到CDI BeanManager“}} 12:51:16,762 INFO [org.jboss.as.server](ServerService线程池-42)WFLYSRV0010:部署了“ SpringBoot-0.0.1”。 war”(运行时名称:“ SpringBoot-0.0.1.war”)12:51:16,762 INFO [org.jboss.as.controller](控制器引导线程)WFLYCTL0183:服务状态报告WFLYCTL0186:无法启动的服务:服务jboss.deployment.unit。“ SpringBoot-0.0.1.war” .undertow-deployment:java.lang.RuntimeException:java.lang.RuntimeException:com.sun.faces.config。
正如我们在评论中讨论的那样,解决方案可能就像将pom.xml依赖项添加cdi-api到其中一样简单。它不包含在您指定的依赖项中。
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5061 次 |
| 最近记录: |