无法启动服务 jboss.deployment.unit
我正在尝试使用教程: https:// /balusc.omnifaces.org/2020/04/jsf-23-tutorial-with-eclipse-maven.html
- 服务器 Wildfly18
- Java 11
- Eclipse 2022-03 (4.23.0)
消息模型类:
public class Message implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false) @Lob
private @NotNull String text;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
MesssageService 类:
public class MessageService {
@PersistenceContext
private EntityManager entityManager;
public void create(Message message) {
entityManager.persist(message);
}
public List<Message> list() {
return entityManager.createQuery("FROM Message m", Message.class).getResultList();
}
}
Bean 类:
@Named
@RequestScoped
public class Bean {
private Message message = new Message();
private List<Message> messages;
@Inject
private MessageService messageService;
@PostConstruct
public void init() {
messages = messageService.list();
}
public void submit() {
messageService.create(message);
messages.add(message);
message = new Message();
}
public Message getMessage() {
return message;
}
public List<Message> getMessages() {
return messages;
}
}
Persistense.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="project"
transaction-type="JTA">
<jta-data-source>java:global/DataSourceName</jta-data-source>
<class>pt.example.project.model.Message</class>
<properties>
<property
name="javax.persistence.schema-generation.database.action"
value="drop-and-create" />
</properties>
</persistence-unit>
</persistence>
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pt.example</groupId>
<artifactId>project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>project</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>Central Maven repository</id>
<name>Central Maven repository https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</distributionManagement>
</project>
错误日志: 12:33:02,320 INFO [org.jboss.as.ejb3.deployment](MSC 服务线程 1-1)WFLYEJB0473:部署单元“部署“project.war””中名为“MessageService”的会话 bean 的 JNDI 绑定如下:
12:33:02,320 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'MessageService' in deployment unit 'deployment "project.war"' are as follows:
java:global/project/MessageService!pt.example.project.service.MessageService
java:app/project/MessageService!pt.example.project.service.MessageService
java:module/MessageService!pt.example.project.service.MessageService
ejb:/project/MessageService!pt.example.project.service.MessageService
java:global/project/MessageService
java:app/project/MessageService
java:module/MessageService
12:33:02,902 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."project.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."project.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "project.war"
at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module "deployment.project.war" from Service Module Loader]
at [email protected]//org.jboss.as.connector.deployers.datasource.DataSourceDefinitionInjectionSource.getResourceValue(DataSourceDefinitionInjectionSource.java:178)
at [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:289)
at [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:122)
at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module "deployment.project.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at [email protected]//org.jboss.as.connector.deployers.datasource.DataSourceDefinitionInjectionSource.getResourceValue(DataSourceDefinitionInjectionSource.java:142)
... 11 more
12:33:02,997 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 76) WFLYCLINF0002: Started client-mappings cache from ejb container
12:33:03,069 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "project.war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"project.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"project.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module \"deployment.project.war\" from Service Module Loader]
Caused by: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module \"deployment.project.war\" from Service Module Loader]"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.naming.context.java.global.DataSourceName",
"jboss.deployment.unit.\"project.war\".beanmanager",
"jboss.deployment.unit.\"project.war\".WeldStartService"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.persistenceunit.\"project.war#project\".__FIRST_PHASE__ is missing [jboss.naming.context.java.global.DataSourceName]",
"jboss.deployment.unit.\"project.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"project.war\".beanmanager]",
"jboss.deployment.unit.\"project.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"project.war\".WeldStartService, jboss.deployment.unit.\"project.war\".beanmanager]"
]
}
12:33:03,325 INFO [org.jboss.as.server] (ServerService Thread Pool -- 44) WFLYSRV0010: Deployed "project.war" (runtime-name : "project.war")
12:33:03,330 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0184: New missing/unsatisfied dependencies:
service jboss.deployment.unit."project.war".WeldStartService (missing) dependents: [service jboss.deployment.unit."project.war".weld.weldClassIntrospector]
service jboss.deployment.unit."project.war".beanmanager (missing) dependents: [service jboss.deployment.unit."project.war".weld.weldClassIntrospector, service jboss.deployment.unit."project.war".batch.artifact.factory]
service jboss.naming.context.java.global.DataSourceName (missing) dependents: [service jboss.persistenceunit."project.war#project".__FIRST_PHASE__]
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."project.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "project.war"
WFLYCTL0448: 2 additional services are down due to their dependencies being missing or failed
12:33:03,400 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
12:33:03,402 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
12:33:03,403 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
12:33:03,403 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 18.0.1.Final (WildFly Core 10.0.3.Final) started (with errors) in 9989ms - Started 390 of 610 services (6 services failed or missing dependencies, 371 services are lazy, passive or on-demand)
I am trying to use tutorial: https://balusc.omnifaces.org/2020/04/jsf-23-tutorial-with-eclipse-maven.html
- Server Wildfly18
- Java 11
- Eclipse 2022-03 (4.23.0)
Message Model Class:
public class Message implements Serializable {
private static final long serialVersionUID = 1L;
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(nullable = false) @Lob
private @NotNull String text;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
MesssageService Class:
public class MessageService {
@PersistenceContext
private EntityManager entityManager;
public void create(Message message) {
entityManager.persist(message);
}
public List<Message> list() {
return entityManager.createQuery("FROM Message m", Message.class).getResultList();
}
}
Bean Class:
@Named
@RequestScoped
public class Bean {
private Message message = new Message();
private List<Message> messages;
@Inject
private MessageService messageService;
@PostConstruct
public void init() {
messages = messageService.list();
}
public void submit() {
messageService.create(message);
messages.add(message);
message = new Message();
}
public Message getMessage() {
return message;
}
public List<Message> getMessages() {
return messages;
}
}
Persistense.xml
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence
http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">
<persistence-unit name="project"
transaction-type="JTA">
<jta-data-source>java:global/DataSourceName</jta-data-source>
<class>pt.example.project.model.Message</class>
<properties>
<property
name="javax.persistence.schema-generation.database.action"
value="drop-and-create" />
</properties>
</persistence-unit>
</persistence>
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>pt.example</groupId>
<artifactId>project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>project</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<failOnMissingWebXml>false</failOnMissingWebXml>
</properties>
<dependencies>
<dependency>
<groupId>jakarta.platform</groupId>
<artifactId>jakarta.jakartaee-api</artifactId>
<version>8.0.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>provided</scope>
</dependency>
</dependencies>
<distributionManagement>
<repository>
<id>Central Maven repository</id>
<name>Central Maven repository https</name>
<url>https://repo.maven.apache.org/maven2</url>
</repository>
</distributionManagement>
</project>
Error log:
12:33:02,320 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'MessageService' in deployment unit 'deployment "project.war"' are as follows:
12:33:02,320 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-1) WFLYEJB0473: JNDI bindings for session bean named 'MessageService' in deployment unit 'deployment "project.war"' are as follows:
java:global/project/MessageService!pt.example.project.service.MessageService
java:app/project/MessageService!pt.example.project.service.MessageService
java:module/MessageService!pt.example.project.service.MessageService
ejb:/project/MessageService!pt.example.project.service.MessageService
java:global/project/MessageService
java:app/project/MessageService
java:module/MessageService
12:33:02,902 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."project.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."project.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "project.war"
at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:183)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at [email protected]//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at [email protected]//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at [email protected]//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module "deployment.project.war" from Service Module Loader]
at [email protected]//org.jboss.as.connector.deployers.datasource.DataSourceDefinitionInjectionSource.getResourceValue(DataSourceDefinitionInjectionSource.java:178)
at [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.addJndiBinding(ModuleJndiBindingProcessor.java:289)
at [email protected]//org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:122)
at [email protected]//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:176)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module "deployment.project.war" from Service Module Loader]
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:255)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:410)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
at [email protected]//org.jboss.as.connector.deployers.datasource.DataSourceDefinitionInjectionSource.getResourceValue(DataSourceDefinitionInjectionSource.java:142)
... 11 more
12:33:02,997 INFO [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 76) WFLYCLINF0002: Started client-mappings cache from ejb container
12:33:03,069 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "project.war")]) - failure description: {
"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"project.war\".INSTALL" => "WFLYSRV0153: Failed to process phase INSTALL of deployment \"project.war\"
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module \"deployment.project.war\" from Service Module Loader]
Caused by: java.lang.ClassNotFoundException: org.h2.jdbcx.JdbcDataSource from [Module \"deployment.project.war\" from Service Module Loader]"},
"WFLYCTL0412: Required services that are not installed:" => [
"jboss.naming.context.java.global.DataSourceName",
"jboss.deployment.unit.\"project.war\".beanmanager",
"jboss.deployment.unit.\"project.war\".WeldStartService"
],
"WFLYCTL0180: Services with missing/unavailable dependencies" => [
"jboss.persistenceunit.\"project.war#project\".__FIRST_PHASE__ is missing [jboss.naming.context.java.global.DataSourceName]",
"jboss.deployment.unit.\"project.war\".batch.artifact.factory is missing [jboss.deployment.unit.\"project.war\".beanmanager]",
"jboss.deployment.unit.\"project.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"project.war\".WeldStartService, jboss.deployment.unit.\"project.war\".beanmanager]"
]
}
12:33:03,325 INFO [org.jboss.as.server] (ServerService Thread Pool -- 44) WFLYSRV0010: Deployed "project.war" (runtime-name : "project.war")
12:33:03,330 INFO [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0184: New missing/unsatisfied dependencies:
service jboss.deployment.unit."project.war".WeldStartService (missing) dependents: [service jboss.deployment.unit."project.war".weld.weldClassIntrospector]
service jboss.deployment.unit."project.war".beanmanager (missing) dependents: [service jboss.deployment.unit."project.war".weld.weldClassIntrospector, service jboss.deployment.unit."project.war".batch.artifact.factory]
service jboss.naming.context.java.global.DataSourceName (missing) dependents: [service jboss.persistenceunit."project.war#project".__FIRST_PHASE__]
WFLYCTL0186: Services which failed to start: service jboss.deployment.unit."project.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "project.war"
WFLYCTL0448: 2 additional services are down due to their dependencies being missing or failed
12:33:03,400 INFO [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0212: Resuming server
12:33:03,402 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
12:33:03,403 INFO [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
12:33:03,403 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 18.0.1.Final (WildFly Core 10.0.3.Final) started (with errors) in 9989ms - Started 390 of 610 services (6 services failed or missing dependencies, 371 services are lazy, passive or on-demand)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论