我在jboss+eclipse开发环境中建了一个项目OTO, 
在jboss的all/deploy目录下配置数据源mysql-ds.xml,原文如下 
<?xml version="1.0" encoding="UTF-8"?> 
<datasources> 
   <local-tx-datasource> 
     <jndi-name> MySqlDS </jndi-name> 
     <connection-url> jdbc:mysql://localhost:3306/test </connection-url> 
     <driver-class> com.mysql.jdbc.Driver </driver-class> 
     <user-name> root </user-name> 
     <password> 1234 </password> 
     <exception-sorter-class-name> org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter </exception-sorter-class-name> 
     <metadata> 
        <type-mapping> mySQL </type-mapping> 
     </metadata> 
   </local-tx-datasource> 
</datasources> 
在src/META-INF下配置persistence.xml文件,内容如下: 
<persistence> 
   <persistence-unit name="sqlconn"> 
      <jta-date-source> java:/MySqlDS </jta-date-source> 
      <properties> 
      </properties> 
   </persistence-unit> 
</persistence> 
还建了pojo,dao,和测试代码; 
当我把这个项目发布到jboss中时, 
报如下错误: 
08:59:33,218 INFO  [Http11BaseProtocol] Starting Coyote HTTP/1.1 on http-localhost%2F127.0.0.1-8080 
08:59:33,500 INFO  [ChannelSocket] JK: ajp13 listening on localhost/127.0.0.1:8009 
08:59:33,515 INFO  [JkMain] Jk running ID=0 time=0/109  config=null 
08:59:33,546 INFO  [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] Started in 57s:875ms 
09:12:32,687 INFO  [Ejb3Deployment] EJB3 deployment time took: 469 
09:12:32,687 INFO  [JmxKernelAbstraction] installing MBean: persistence.units:jar=onetoone.jar,unitName=sqlconn with dependencies: 
09:12:32,718 WARN  [ServiceController] Problem starting service persistence.units:jar=onetoone.jar,unitName=sqlconn 
java.lang.RuntimeException: You have not defined a jta-data-source for a JTA enabled persistence context named: sqlconn 
at org.jboss.ejb3.entity.PersistenceUnitDeployment.start(PersistenceUnitDeployment.java:244) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.ejb3.ServiceDelegateWrapper.startService(ServiceDelegateWrapper.java:102) 
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) 
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) 
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) 
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) 
at $Proxy0.start(Unknown Source) 
at org.jboss.system.ServiceController.start(ServiceController.java:417) 
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) 
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) 
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
at $Proxy71.start(Unknown Source) 
at org.jboss.ejb3.JmxKernelAbstraction.install(JmxKernelAbstraction.java:96) 
at org.jboss.ejb3.Ejb3Deployment.startPersistenceUnits(Ejb3Deployment.java:467) 
at org.jboss.ejb3.Ejb3Deployment.start(Ejb3Deployment.java:317) 
at org.jboss.ejb3.Ejb3Module.startService(Ejb3Module.java:91) 
at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) 
at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) 
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) 
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) 
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) 
at $Proxy0.start(Unknown Source) 
at org.jboss.ejb3.EJB3Deployer.start(EJB3Deployer.java:449) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) 
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) 
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1007) 
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:808) 
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:771) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
at java.lang.reflect.Method.invoke(Method.java:585) 
at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) 
at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) 
at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142) 
at org.jboss.mx.server.Invocation.invoke(Invocation.java:88) 
at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) 
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) 
at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) 
at $Proxy8.deploy(Unknown Source) 
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421) 
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610) 
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263) 
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274) 
at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225) 
 报的错误是:没有定义数据源,sqlconn,但是我已经定义好了,sqlconn是我随便取的,好多书上说可以随便取的,MySqlDS是我已经在xml中定义的,persistence.xml已经写好了,为什么就报这个错误呢?求各位高手指点..... 

解决方案 »

  1.   

    WARN  [ServiceController] Problem starting service persistence.units:jar=onetoone.jar,unitName=sqlconn  
    java.lang.RuntimeException: You have not defined a jta-data-source for a JTA enabled persistence context named: sqlconn  
    好好看下你自己配置的文件,,是否有错。编程太相信自己可不是好事呀。
      

  2.   

     <properties>   
     </properties>   这个里面可以空的是吧,,<jndi-name>  MySqlDS  </jndi-name>   
    是否是去取你配置文件
    <jta-date-source>  java:/MySqlDS  </jta-date-source>   JTA enabled persistence context named: sqlconn  
    我现在也没装JBoss 把  MySqlDS  换成sqlconn是否可行,,你试下吧
    祝你好运~~!!