什么是JBOSS-“;java不允许使用空名称段";错误

什么是JBOSS-“;java不允许使用空名称段";错误,java,eclipse,jboss7.x,jndi,web-deployment,Java,Eclipse,Jboss7.x,Jndi,Web Deployment,我是JBOSS开发的新手,并试图从eclipse运行一个项目,但我得到了“java不允许使用空名称段”错误。我知道当我们的jndi资源名为空时会出现这样的错误,但在这种情况下,它指定为“env”,而不是“java”,这是我的例子。在下面发布我的stacktrace。我正在使用JBoss7.1版本 14:34:04,440 WARN [org.jboss.as.ee] (MSC service thread 1-5) JBAS011001: Could not resolve resource-

我是JBOSS开发的新手,并试图从eclipse运行一个项目,但我得到了“java不允许使用空名称段”错误。我知道当我们的jndi资源名为空时会出现这样的错误,但在这种情况下,它指定为“env”,而不是“java”,这是我的例子。在下面发布我的stacktrace。我正在使用JBoss7.1版本

14:34:04,440 WARN  [org.jboss.as.ee] (MSC service thread 1-5) JBAS011001: Could not resolve resource-env-ref java:/TransactionManager
        14:34:04,440 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.deployment.unit."workflow.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."workflow.war".INSTALL: Failed to process phase INSTALL of deployment "workflow.war"
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_51]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_51]
        at java.lang.Thread.run(Thread.java:743) [rt.jar:1.6.0_51]
    Caused by: java.lang.IllegalArgumentException: Empty name segment is not allowed for java
        at org.jboss.msc.service.ServiceName.of(ServiceName.java:85) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at org.jboss.msc.service.ServiceName.append(ServiceName.java:112) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        at org.jboss.as.naming.deployment.ContextNames.buildServiceName(ContextNames.java:178)
        at org.jboss.as.naming.deployment.ContextNames$BindInfo.<init>(ContextNames.java:190)
        at org.jboss.as.naming.deployment.ContextNames$BindInfo.<init>(ContextNames.java:181)
        at org.jboss.as.naming.deployment.ContextNames.bindInfoFor(ContextNames.java:124)
        at org.jboss.as.naming.deployment.ContextNames.bindInfoForEnvEntry(ContextNames.java:165)
        at org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deployPersistenceUnit(PersistenceUnitDeploymentProcessor.java:319)
        at org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.addPuService(PersistenceUnitDeploymentProcessor.java:258)
        at org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.handleWarDeployment(PersistenceUnitDeploymentProcessor.java:194)
        at org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deploy(PersistenceUnitDeploymentProcessor.java:118)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
        ... 5 more

14:34:04,471 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "workflow.war" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"workflow.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"workflow.war\".INSTALL: Failed to process phase INSTALL of deployment \"workflow.war\""}}
    14:34:04,471 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
    JBAS014777:   Services which failed to start:      service jboss.deployment.unit."workflow.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."workflow.war".INSTALL: Failed to process phase INSTALL of deployment "workflow.war"

 14:34:04,471 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.deployment.unit.\"workflow.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"workflow.war\".INSTALL: Failed to process phase INSTALL of deployment \"workflow.war\""}}}}
14:34:04,659 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015877: Stopped deployment workflow.war in 184ms
14:34:04440警告[org.jboss.as.ee](MSC服务线程1-5)JBAS011001:无法解析资源环境参考java:/TransactionManager
14:34:04440错误[org.jboss.msc.service.fail](msc服务线程1-5)MSC00001:无法启动服务jboss.deployment.unit.“workflow.war”。安装:在服务jboss.deployment.unit.“workflow.war”中安装:org.jboss.msc.service.StartException。安装:无法处理部署“workflow.war”的阶段安装
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
位于java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[rt.jar:1.6.0_51]
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[rt.jar:1.6.051]
在java.lang.Thread.run(Thread.java:743)[rt.jar:1.6.0_51]
原因:java.lang.IllegalArgumentException:java不允许使用空名称段
在org.jboss.msc.service.ServiceName.of(ServiceName.java:85)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceName.append(ServiceName.java:112)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
位于org.jboss.as.naming.deployment.ContextNames.buildServiceName(ContextNames.java:178)
位于org.jboss.as.naming.deployment.ContextNames$BindInfo。(ContextNames.java:190)
位于org.jboss.as.naming.deployment.ContextNames$BindInfo。(ContextNames.java:181)
位于org.jboss.as.naming.deployment.ContextNames.bindInfoFor(ContextNames.java:124)
位于org.jboss.as.naming.deployment.ContextNames.BindInfoForInventry(ContextNames.java:165)
位于org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deployPersistenceUnit(PersistenceUnitDeploymentProcessor.java:319)
位于org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.addPuService(PersistenceUnitDeploymentProcessor.java:258)
位于org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.handleWarDeployment(PersistenceUnitDeploymentProcessor.java:194)
位于org.jboss.as.jpa.processor.PersistenceUnitDeploymentProcessor.deploy(PersistenceUnitDeploymentProcessor.java:118)
在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 还有5个
14:34:04471信息[org.jboss.as.server](DeploymentScanner threads-2)JBAS015870:部署的部署“workflow.war”已回滚,并显示失败消息{“JBAS014671:Failed services”=>{“jboss.deployment.unit.\“workflow.war\”。请在服务jboss.deployment.unit.\“workflow.war”中安装“=>”org.jboss.msc.service.StartException\.INSTALL:无法处理部署\“workflow.war\”}的阶段安装
14:34:04471信息[org.jboss.as.controller](DeploymentScanner线程-2)JBAS014774:服务状态报告
JBAS014777:未能启动的服务:服务jboss.deployment.unit.“workflow.war”。安装:org.jboss.msc.service.StartException in service jboss.deployment.unit.“workflow.war”。安装:未能处理部署“workflow.war”的阶段安装
14:34:04471错误[org.jboss.as.server.deployment.scanner](DeploymentScanner线程-1){“JBAS014653:复合操作失败并被回滚。失败的步骤:=>{“操作步骤-2”=>{“JBAS014671:失败的服务”=>{“jboss.deployment.unit.\“workflow.war\”。安装“=>”服务jboss.deployment.unit中的org.jboss.msc.service.StartException.\“workflow.war\”安装:无法处理部署\“workflow.war\”的安装阶段
14:34:04659信息[org.jboss.as.server.deployment](MSC服务线程1-8)JBAS015877:184ms内停止部署workflow.war
我看到一条警告说,
JBAS011001:无法解析resource env ref java:/TransactionManager
,但我不认为错误是由它引起的

请引导我。提前谢谢


Zebronix_777

我需要从standalone.xml中提到的数据源中删除java:/prefix。它得到了解决。因为在
persistence.xml
中没有该前缀。

您是否在
web inf
中定义了
jboss web.xml
中的数据源Folder@09Q71AO534不,我没有任何
jbossweb.xml
文件在我的项目中,但我已经提到了
web inf/classes/meta inf/persistence.xml
中的所有数据源。您的项目中是否有
web.xml
?请尝试遵循另一个问题中提到的方法。您也可以从
standalone.xml
加载数据源。但是,让我们一步一步一步来,然后我们将看看是什么让它表现得如此that@09Q71AO534我已经解决了这个问题。我需要从standalone.xml中提到的数据源中删除
java://
前缀。它得到了解决。