Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

javax.persistence.criteria cannot be resolved to a type & project could not be used in the server.

 
sam White
Ranch Hand
Posts: 229
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

I am building a Maven + Spring + JPA + Eclipse project.
Currently I am having compilation error with the following line of code:



Therefore, I want to add glassfish 3.1 libraries into the project in order to resolve the error.

I have added glassfish 3.1 server to eclipse 3.6.2, but the project I created in Eclipse "Could not be used in the server".

How can I resolve this error
and how to convert this mavenized project so that it can be used in the server?

Any suggestion is highly appreciated.
Thanks
Sam
 
Wouter Oet
Saloon Keeper
Posts: 2700
IntelliJ IDE Opera
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What was the compilation error? And add the persistence api to Maven with the scope provided instead of adding it to eclipse.
 
sam White
Ranch Hand
Posts: 229
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

Thank you for the quick reply.

Here is the error:


javax.persistence.criteria cannot be resolved


I have just convert the project to WTP. Now I added the project to Glassfish 3.1 server.

After added the project to glassfish, I found there is a EclipseLink 2.1.x libraries added to the project, and consequently the new error becomes:

"The method getCriteriaBuilder() is undefined for the type EntityManager"

from the following code:



Here is fragment of the code:



the javax.persistence.* is referring to EclipseLink 2.1.x I think...
I shouldn't use EclipseLink, what should I do to replace it by something else that will makes the above code compiled?

Thanks
Sam
 
Wouter Oet
Saloon Keeper
Posts: 2700
IntelliJ IDE Opera
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I don't know what a WTP project is. You'll need to add the correct persistence api version. The older one didn't include a criteria builder.
 
sam White
Ranch Hand
Posts: 229
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

Thanks for the reply again.

After removed EclipseLInk 2.1.x libraries from Build path in eclipse, and added 2 hibernate dependencies in the pom.xml file, maven update returns error:

Missing artifact org.hibernate:hibernate:jar:3.5.1-Final:compile

Here is my hibernate dependencies in the pom.xml file:



I am not sure how to automatically add hibernate jar file with maven,

Please help.

Thanks
Sam
 
sam White
Ranch Hand
Posts: 229
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I just found there are hibernate-entitymanager-3.4.0GA.jar and hibernate-annotation-3.4.0.GA.jar, as well as hibernate-commons-annotations-3.1.0.GA.jar in the Maven Dependencies under the Libraries folder in my project.

I am wondering how to remove them?
When I right-click its filename in the Maven Dependencies, the Delete option is disabled.

Thanks
Sam
 
sam White
Ranch Hand
Posts: 229
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
After deleted all lower version of hibernates from my maven repositories folder, and removed the dead links of hibernates in the pom.xml file, it complied successfully.
However when I start Glassfish 3.1 from within Eclipse, it failed to deploy with the following error in the server log:

[#|2011-06-13T14:32:34.624+1000|SEVERE|glassfish3.1|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=65;_ThreadName=Thread-1;|Exception while preparing the app : java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence
java.lang.ClassNotFoundException: org.hibernate.ejb.HibernatePersistence
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1518)
at org.glassfish.web.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1368)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:173)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:119)
at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:213)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:486)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:220)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:166)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:870)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:410)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1067)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1247)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:465)
at com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:222)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:234)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:822)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:719)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1013)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
|#]


Is there any way I can use to resolve this issue?

Thanks
Sam
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic