- This topic has 8 replies, 3 voices, and was last updated 12 years, 6 months ago by support-tony.
-
AuthorPosts
-
Glenn PuckettParticipantI have a web project that I developed using MyEclipse v8.x. I do my testing from MyEclipse using the JBoss 4.x configuration. I’ve had no problems with MyEclipse or JBoss doing my development and testing.
I just upgraded from MyEclipse v8.x to V10.0 Build: 10.0-20111028.
I copied the workspace from the v8.x workspace to the v10.x workspace. When v10.x came up it popped up a dialog to convert the workspace to v10.x which I let it do. It is obviously doing a little bit better with syntax checking of Annotations because there were some legitimate items that needed to be addressed.
That’s all the changes I made. Everything else is exactly the same. I assume that the MyEclipse libraries could potentially be different with more current versions.
Then I tried testing the application. I deployed the war file to JBoss as I was doing before. Then started the JBoss 4.x server. Now when I try to execute the application I get the following error:
16:05:41,495 ERROR [[default]] Servlet.service() for servlet default threw exception javax.persistence.PersistenceException: No Persistence provider for EntityManager named CWDCPU at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34) at mm.cwdc.jpa.EntityManagerHelper.<clinit>(EntityManagerHelper.java:22) at mm.cwdc.jpa.ApplicationControlTblDAO.findByProperty(ApplicationControlTblDAO.java:156) at mm.cwdc.jpa.ApplicationControlTblDAO.findByKey(ApplicationControlTblDAO.java:182) at mm.cwdc.misc.ApplicationControlData.<init>(ApplicationControlData.java:74) at mm.cwdc.misc.ApplicationControlData.getInstance(ApplicationControlData.java:321) at mm.cwdc.misc.Util.checkStatus(Util.java:119) at mm.cwdc.interceptors.UserAuthorizationInterceptor.intercept(UserAuthorizationInterceptor.java:55) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619) 16:19:20,561 ERROR [[default]] Servlet.service() for servlet default threw exception java.lang.NoClassDefFoundError: Could not initialize class mm.cwdc.jpa.EntityManagerHelper at mm.cwdc.jpa.ApplicationControlTblDAO.findByProperty(ApplicationControlTblDAO.java:156) at mm.cwdc.jpa.ApplicationControlTblDAO.findByKey(ApplicationControlTblDAO.java:182) at mm.cwdc.misc.ApplicationControlData.<init>(ApplicationControlData.java:74) at mm.cwdc.misc.ApplicationControlData.getInstance(ApplicationControlData.java:321) at mm.cwdc.misc.Util.checkStatus(Util.java:119) at mm.cwdc.interceptors.UserAuthorizationInterceptor.intercept(UserAuthorizationInterceptor.java:55) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437) at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446) at java.lang.Thread.run(Thread.java:619)
persistence.xml contains
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="CWDCPU" transaction-type="RESOURCE_LOCAL" > <provider>org.hibernate.ejb.HibernatePersistence</provider> <non-jta-data-source>java:jdbc/CWDCDS</non-jta-data-source> <class>mm.cwdc.jpa.GroupUserAccessTbl</class> <class>mm.cwdc.jpa.StruGroupAccessTbl</class> <class>mm.cwdc.jpa.AdminContentTbl</class> <class>mm.cwdc.jpa.AdminCurveTbl</class> <class>mm.cwdc.jpa.AdminProjTypeTbl</class> <class>mm.cwdc.jpa.AdminIndustryRoleTbl</class> <class>mm.cwdc.jpa.AdminProjClassTbl</class> <class>mm.cwdc.jpa.AdminSecurityQuestionTbl</class> <class>mm.cwdc.jpa.AdminAuthorityTbl</class> <class>mm.cwdc.jpa.StruUserAccessTbl</class> <class>mm.cwdc.jpa.ZipCodeTbl</class> <class>mm.cwdc.jpa.AdminIndustryTypeTbl</class> <class>mm.cwdc.jpa.ProjGroupAccessTbl</class> <class>mm.cwdc.jpa.UserTbl</class> <class>mm.cwdc.jpa.ProjectTbl</class> <class>mm.cwdc.jpa.DodgeProjectTbl</class> <class>mm.cwdc.jpa.DodgeProjectLaborTbl</class> <class>mm.cwdc.jpa.LaborRptTbl</class> <class>mm.cwdc.jpa.AdminProjectStatusTbl</class> <class>mm.cwdc.jpa.BlsWageTbl</class> <class>mm.cwdc.jpa.ApplicationControlTbl</class> <class>mm.cwdc.jpa.AccountTbl</class> <class>mm.cwdc.jpa.UserPhoneTbl</class> <class>mm.cwdc.jpa.ProjectUserAccessTbl</class> <class>mm.cwdc.jpa.AccountWageTbl</class> <class>mm.cwdc.jpa.AdminUserTbl</class> <class>mm.cwdc.jpa.UserAddressTbl</class> <class>mm.cwdc.jpa.AcctAddressTbl</class> <class>mm.cwdc.jpa.AccountStructureTbl</class> <class>mm.cwdc.jpa.AdminUserAuthorityTbl</class> <class>mm.cwdc.jpa.AccountPhoneTbl</class> <class>mm.cwdc.jpa.GroupTbl</class> <class>mm.cwdc.jpa.ProjLaborTbl</class> <class>mm.cwdc.jpa.WizardMasterTbl</class> <class>mm.cwdc.jpa.WizardDetailTbl</class> <class>mm.cwdc.jpa.AdminCraftTbl</class> <class>mm.cwdc.jpa.ObjectTbl</class> <class>mm.cwdc.jpa.AggregateTbl</class> <class>mm.cwdc.jpa.AggregateLaborDailyTbl</class> <class>mm.cwdc.jpa.AggregateLaborWeeklyTbl</class> <class>mm.cwdc.jpa.AggregateLaborMonthlyTbl</class> <class>mm.cwdc.jpa.AggregateLaborQuarterlyTbl</class> <class>mm.cwdc.jpa.ProjectPlfTbl</class> <class>mm.cwdc.jpa.ProjectPlfDetailTbl</class> <class>mm.cwdc.jpa.abstr.AbstractGroupUserAccessTbl</class> <class>mm.cwdc.jpa.abstr.AbstractStruGroupAccessTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminContentTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminCurveTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminProjTypeTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminIndustryRoleTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminProjClassTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminSecurityQuestionTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminAuthorityTbl</class> <class>mm.cwdc.jpa.abstr.AbstractStruUserAccessTbl</class> <class>mm.cwdc.jpa.abstr.AbstractZipCodeTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminIndustryTypeTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjGroupAccessTbl</class> <class>mm.cwdc.jpa.abstr.AbstractUserTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjectTbl</class> <class>mm.cwdc.jpa.abstr.AbstractDodgeProjectTbl</class> <class>mm.cwdc.jpa.abstr.AbstractDodgeProjectLaborTbl</class> <class>mm.cwdc.jpa.abstr.AbstractLaborRptTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminProjectStatusTbl</class> <class>mm.cwdc.jpa.abstr.AbstractBlsWageTbl</class> <class>mm.cwdc.jpa.abstr.AbstractApplicationControlTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAccountTbl</class> <class>mm.cwdc.jpa.abstr.AbstractUserPhoneTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjectUserAccessTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAccountWageTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminUserTbl</class> <class>mm.cwdc.jpa.abstr.AbstractUserAddressTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAcctAddressTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAccountStructureTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminUserAuthorityTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAccountPhoneTbl</class> <class>mm.cwdc.jpa.abstr.AbstractGroupTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjLaborTbl</class> <class>mm.cwdc.jpa.abstr.AbstractWizardMasterTbl</class> <class>mm.cwdc.jpa.abstr.AbstractWizardDetailTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAdminCraftTbl</class> <class>mm.cwdc.jpa.abstr.AbstractObjectTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAggregateTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAggregateLaborDailyTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAggregateLaborWeeklyTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAggregateLaborMonthlyTbl</class> <class>mm.cwdc.jpa.abstr.AbstractAggregateLaborQuarterlyTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjectPlfTbl</class> <class>mm.cwdc.jpa.abstr.AbstractProjectPlfDetailTbl</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/> </properties> </persistence-unit> </persistence>
And I have a data source xml file in the JBoss deploy directory. It contains:
<local-tx-datasource> <jndi-name>jdbc/CWDCDS</jndi-name> <connection-url>jdbc:mysql://localhost/cwdc?autoReconnect=true</connection-url> <driver-class>com.mysql.jdbc.Driver</driver-class> <user-name>xxxxx</user-name> <password>xxxxxx</password> <min-pool-size>30</min-pool-size> <max-pool-size>150</max-pool-size> <idle-timeout-minutes>15</idle-timeout-minutes> <track-statements>true</track-statements> <exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name> <metadata> <type-mapping>mySQL</type-mapping> </metadata> </local-tx-datasource>
These files haven’t changed. I can close down v10.x and bring up v8.x, redeploy and the application works fine.
So what do I have to do to get this working from v10.0?
support-joyMemberWGPuckett,
Sorry to hear you are running into this issue. Could you please check the classpath and verify if persistence.xml is in the classpath and the path is valid?
Glenn PuckettParticipantThe persistence.xml file is where it’s been since I started the project, src/META-INF/ directory. Is it supposed to be in a different location for v10?
support-joyMemberWGPuckett,
Apologies for the late reply. The path of persistence.xml file in src/META-INF/ directory looks good. Could you attach your .classpath and .project file. I am guessing the reference listed here could be different than the actual path, hence the issue. Could you investigate in those lines?
Glenn PuckettParticipant@support-joy wrote:
WGPuckett,
Apologies for the late reply. The path of persistence.xml file in src/META-INF/ directory looks good. Could you attach your .classpath and .project file. I am guessing the reference listed here could be different than the actual path, hence the issue. Could you investigate in those lines?
Sorry, I have been on vacation. I am back trying to get this disaster figured out.
The .project file contains:
<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>CWDC</name> <comment></comment> <projects> </projects> <buildSpec> <buildCommand> <name>org.eclipse.wst.common.project.facet.core.builder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.wst.validation.validationbuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>org.eclipse.dali.core.persistenceBuilder</name> <arguments> </arguments> </buildCommand> <buildCommand> <name>com.genuitec.eclipse.ast.deploy.core.DeploymentBuilder</name> <arguments> </arguments> </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> <nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature> <nature>com.genuitec.eclipse.persistence.jpa.jpanature</nature> <nature>org.eclipse.dali.core.persistenceNature</nature> <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature> <nature>org.eclipse.jdt.core.javanature</nature> <nature>org.eclipse.wst.jsdt.core.jsNature</nature> <nature>com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature</nature> <nature>org.eclipse.wst.common.project.facet.core.nature</nature> <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> </natures> </projectDescription>
And the .classpath file contains:
<?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_5_CONTAINER"/> <classpathentry kind="lib" path="WebRoot/WEB-INF/lib/mysql-connector-java-3.1.13-bin.jar"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.struts2.MYECLIPSE_STRUTS21_CORE"/> <classpathentry exported="true" kind="con" path="melibrary.com.genuitec.eclipse.struts2.MYECLIPSE_STRUTS21_TILES"/> <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/CWDC Required Libraries"/> <classpathentry combineaccessrules="false" kind="src" path="/BaseWEBProject"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_3_CORE"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.hibernate.MYECLIPSE_HIBERNATE3_3_EM"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.struts2.MYECLIPSE_STRUTS21_MISC"/> <classpathentry kind="con" path="melibrary.com.genuitec.eclipse.struts2.MYECLIPSE_STRUTS21_TEST"/> <classpathentry exported="true" kind="lib" path="D:/jboss-4.2.3.GA/lib/jboss-jmx.jar"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/> </classpath>
Glenn PuckettParticipantI simply cannot get the application to run under v10. And I don’t have time to debug it. I SHOULD NOT have to debug it. But it is what it is. I’m back to v8.6.1. There are times you have to do your own job and not worry about what others should have done with theirs.
I have been impressed with genuitec up to now. This has been extremely frustrating and very disappointing. Why am I paying for updates when I can’t use them?
support-tonyKeymasterWGPuckett,
I’m sorry you’ve had this trouble.
From the error, it looks as though one of the hibernate jars has not been deployed and is not available on the JBoss server that you deployed to. The jar in question is the hibernate-entitymanager.jar file. This jar file contains the class mentioned in the “provider” element of your persistence.xml file.
This is normally available with a JBoss server configuration (it’s in my default server lib folder) but may be back-level. By default, it should also be deployed with your project, though this is controlled by the deployment settings (right click on the project, select Properties, go to the MyEclipse->Web page and then the Deployment tab); if the “Jars from User Libraries” option is selected then all of the additional libraries on the build path will be deployed.
If you get a chance, could you check that the above jar file is deployed, or otherwise available, with your deployed application?
Glenn PuckettParticipant@support-tony wrote:
WGPuckett,
I’m sorry you’ve had this trouble.
From the error, it looks as though one of the hibernate jars has not been deployed and is not available on the JBoss server that you deployed to. The jar in question is the hibernate-entitymanager.jar file. This jar file contains the class mentioned in the “provider” element of your persistence.xml file.
This is normally available with a JBoss server configuration (it’s in my default server lib folder) but may be back-level. By default, it should also be deployed with your project, though this is controlled by the deployment settings (right click on the project, select Properties, go to the MyEclipse->Web page and then the Deployment tab); if the “Jars from User Libraries” option is selected then all of the additional libraries on the build path will be deployed.
If you get a chance, could you check that the above jar file is deployed, or otherwise available, with your deployed application?
This application runs just fine on JBoss when I deploy it using v8.6 with no worrys about libraries. I did nothing but switch from v8.6 to v10.0 and re-deployed the application to JBoss. If there is a library missing it’s not a JBoss library. I just switched back to v8.6, AGAIN, and deployed the application and I am back up and running again. There is NOTHING wrong with the JBoss installation.
Obviously there is something that v8.6 is doing for me that v10.0 does not. There is nothing that tells me what that something is. And I don’t have time to debug the product. As far as I am concerned v10 does not work. It is flawed and unusable.
support-tonyKeymasterWGPuckett,
It’s difficult for us to debug an issue without a user’s help and without being able to replicate the problem However, I was able to replicate the error you got, by removing the jar file I mentioned. This suggests that the jar file is missing or otherwise inaccessible when deploying with release 10. Unfortunately, I can’t replicate the error without manually removing that particular jar file from the JBoss default server’s lib folder, in my installation. This is why I asked that you check for this jar file after deploying with release 10.
We have not noticed an increase in user problems since release 10; in fact, the reverse is true. However, there will always be certain user set-ups or uses that have not been anticipated and so no product can ever be perfect. We really need user help to resolve many issues and, whilst we’ll keep looking at this, it’s unlikely that we’ll be able to resolve it without your help.
-
AuthorPosts