NetBean IDE使用glassfish配置连接池 4.0 新建连接池第二步出现HTTP Status 500 - Internal Server Error

java - The module has not been deployed [netbeans+glassfish] - Stack Overflow
to customize your list.
Join the Stack Overflow Community
Stack Overflow is a community of 6.6 million programmers, just like you, helping each other.
J it only takes a minute:
i am developping a project base on J2EE EJB JSF, database is MYsql, the project works very well last week. but today, it can't be deployed when i run it. here are some exception:
Initial deploying ECOM to C:\Users\John624\Documents\NetBeansProjects\PromoCoupon\ECOM\dist\gfdeploy\ECOM
Completed initial distribution of ECOM
Initializing...
invalid header field name: Exception Description
C:\Users\John624\Documents\NetBeansProjects\PromoCoupon\ECOM\nbproject\build-impl.xml:307: The module has not been deployed.
See the server log for details.
BUILD FAILED (total time: 5 seconds)
Glassfish:
&code& SEVERE:
Exception while invoking class org.glassfish.persistence.jpa.JPADeployer prepare method
Exception while invoking class org.glassfish.javaee.full.deployment.EarDeployer prepare method
org.mon.DeploymentException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [ECOM-ejbPU] failed.
Internal Exception: Exception [EclipseLink-7158] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Error encountered when building the @NamedQuery [Adresse.maxId] from entity class [class org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata].
Internal Exception: java.lang.ClassCastException: org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable
at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:180)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:922)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:431)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219)
at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491)
at com.sun.enterprise.mandRunnerImpl$2$1.run(CommandRunnerImpl.java:527)
at com.sun.enterprise.mandRunnerImpl$2$1.run(CommandRunnerImpl.java:523)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at com.sun.enterprise.mandRunnerImpl$2.execute(CommandRunnerImpl.java:522)
at com.sun.enterprise.mandRunnerImpl.doCommand(CommandRunnerImpl.java:546)
at com.sun.enterprise.mandRunnerImpl.doCommand(CommandRunnerImpl.java:1423)
at com.sun.enterprise.mandRunnerImpl.access$1500(CommandRunnerImpl.java:108)
at com.sun.enterprise.mandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1762)
at com.sun.enterprise.mandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1674)
at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534)
at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224)
at org.glassfish.grizzly.http.server.StaticHttpHandler.service(StaticHttpHandler.java:297)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:246)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:191)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:168)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:189)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:288)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:206)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:136)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:114)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:838)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)
at java.lang.Thread.run(Thread.java:724)
Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [ECOM-ejbPU] failed.
Internal Exception: Exception [EclipseLink-7158] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Error encountered when building the @NamedQuery [Adresse.maxId] from entity class [class org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata].
Internal Exception: java.lang.ClassCastException: org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.createPredeployFailedPersistenceException(EntityManagerSetupImpl.java:1950)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1941)
at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:322)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199)
at org.glassfish.persistence.jpa.PersistenceUnitLoader.&init&(PersistenceUnitLoader.java:107)
at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223)
at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510)
at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230)
at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168)
at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:922)
at org.glassfish.javaee.full.deployment.EarDeployer.prepareBundle(EarDeployer.java:307)
at org.glassfish.javaee.full.deployment.EarDeployer.access$200(EarDeployer.java:88)
at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:153)
at org.glassfish.javaee.full.deployment.EarDeployer$1.doBundle(EarDeployer.java:150)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnBundles(EarDeployer.java:230)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllTypedBundles(EarDeployer.java:239)
at org.glassfish.javaee.full.deployment.EarDeployer.doOnAllBundles(EarDeployer.java:265)
at org.glassfish.javaee.full.deployment.EarDeployer.prepare(EarDeployer.java:150)
... 35 more
Caused by: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [ECOM-ejbPU] failed.
Internal Exception: Exception [EclipseLink-7158] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Error encountered when building the @NamedQuery [Adresse.maxId] from entity class [class org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata].
Internal Exception: java.lang.ClassCastException: org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable
at org.eclipse.persistence.exceptions.EntityManagerSetupException.predeployFailed(EntityManagerSetupException.java:230)
... 53 more
Caused by: Exception [EclipseLink-7158] (Eclipse Persistence Services - 2.5.0.vfaac2b): org.eclipse.persistence.exceptions.ValidationException
Exception Description: Error encountered when building the @NamedQuery [Adresse.maxId] from entity class [class org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata].
Internal Exception: java.lang.ClassCastException: org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable
at org.eclipse.persistence.exceptions.ValidationException.errorProcessingNamedQuery(ValidationException.java:824)
Exception while preparing the app
eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata.process(NamedQueryMetadata.java:194)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processQueries(MetadataProject.java:1628)
at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.addNamedQueries(MetadataProcessor.java:148)
at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1894)
... 51 more
Caused by: java.lang.ClassCastException: org.eclipse.persistence.jpa.jpql.parser.NullExpression cannot be cast to org.eclipse.persistence.jpa.jpql.parser.IdentificationVariable
at org.eclipse.persistence.internal.jpa.jpql.DeclarationResolver$DeclarationVisitor.visit(DeclarationResolver.java:626)
at org.eclipse.persistence.jpa.jpql.parser.RangeVariableDeclaration.accept(RangeVariableDeclaration.java:98)
at org.eclipse.persistence.internal.jpa.jpql.DeclarationResolver$DeclarationVisitor.visit(DeclarationResolver.java:577)
at org.eclipse.persistence.jpa.jpql.parser.IdentificationVariableDeclaration.accept(IdentificationVariableDeclaration.java:71)
at org.eclipse.persistence.internal.jpa.jpql.DeclarationResolver$DeclarationVisitor.visit(DeclarationResolver.java:566)
at org.eclipse.persistence.jpa.jpql.parser.FromClause.accept(FromClause.java:48)
at org.eclipse.persistence.internal.jpa.jpql.DeclarationResolver.populateImp(DeclarationResolver.java:417)
at org.eclipse.persistence.internal.jpa.jpql.DeclarationResolver.populate(DeclarationResolver.java:407)
at org.eclipse.persistence.internal.jpa.jpql.JPQLQueryHelper$DescriptorCollector.collectDescriptors(JPQLQueryHelper.java:179)
at org.eclipse.persistence.internal.jpa.jpql.JPQLQueryHelper$DescriptorCollector.visit(JPQLQueryHelper.java:204)
at org.eclipse.persistence.jpa.jpql.parser.FromClause.accept(FromClause.java:48)
at org.eclipse.persistence.jpa.jpql.parser.AbstractSelectStatement.acceptChildren(AbstractSelectStatement.java:93)
at org.eclipse.persistence.jpa.jpql.parser.SelectStatement.acceptChildren(SelectStatement.java:110)
at org.eclipse.persistence.jpa.jpql.parser.AbstractTraverseChildrenVisitor.visit(AbstractTraverseChildrenVisitor.java:32)
at org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor.visit(AnonymousExpressionVisitor.java:470)
at org.eclipse.persistence.jpa.jpql.parser.SelectStatement.accept(SelectStatement.java:102)
at org.eclipse.persistence.jpa.jpql.parser.JPQLExpression.acceptChildren(JPQLExpression.java:143)
at org.eclipse.persistence.jpa.jpql.parser.AbstractTraverseChildrenVisitor.visit(AbstractTraverseChildrenVisitor.java:32)
at org.eclipse.persistence.jpa.jpql.parser.AnonymousExpressionVisitor.visit(AnonymousExpressionVisitor.java:302)
at org.eclipse.persistence.jpa.jpql.parser.JPQLExpression.accept(JPQLExpression.java:136)
at org.eclipse.persistence.internal.jpa.jpql.JPQLQueryHelper.getClassDescriptors(JPQLQueryHelper.java:87)
at org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata.addJPAQuery(NamedQueryMetadata.java:105)
at org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata.process(NamedQueryMetadata.java:192)
... 54 more
entity bean
* To change this template, choose Tools | Templates
* and open the template in the editor.
import java.io.S
import java.util.C
import java.util.D
import javax.persistence.B
import javax.persistence.C
import javax.persistence.E
import javax.persistence.Id;
import javax.persistence.NamedQ
import javax.persistence.NamedQ
import javax.persistence.OneToM
import javax.persistence.T
import javax.persistence.T
import javax.persistence.TemporalT
import javax.validation.constraints.NotN
import javax.validation.constraints.S
import javax.xml.bind.annotation.XmlRootE
import javax.xml.bind.annotation.XmlT
* @author John624
@Table(name = "Adresse")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Adresse.maxId", query = "SELECT max(idAdresse) FROM Adresse"),
@NamedQuery(name = "Adresse.findAll", query = "SELECT a FROM Adresse a"),
@NamedQuery(name = "Adresse.findByIdAdresse", query = "SELECT a FROM Adresse a WHERE a.idAdresse = :idAdresse"),
@NamedQuery(name = "Adresse.findByNumEtRue", query = "SELECT a FROM Adresse a WHERE a.numEtRue = :numEtRue"),
@NamedQuery(name = "Adresse.findByComple", query = "SELECT a FROM Adresse a ple = :comple"),
@NamedQuery(name = "Adresse.findByCodePostale", query = "SELECT a FROM Adresse a WHERE a.codePostale = :codePostale"),
@NamedQuery(name = "Adresse.findByVille", query = "SELECT a FROM Adresse a WHERE a.ville = :ville"),
@NamedQuery(name = "Adresse.findByPays", query = "SELECT a FROM Adresse a WHERE a.pays = :pays"),
@NamedQuery(name = "Adresse.findByDateModif", query = "SELECT a FROM Adresse a WHERE a.dateModif = :dateModif")})
public class Adresse implements Serializable {
private static final long serialVersionUID = 1L;
@Basic(optional = false)
@Column(name = "idAdresse")
private Long idA
@Size(max = 100)
@Column(name = "numEtRue")
private String numEtR
@Size(max = 100)
@Column(name = "comple")
@Size(max = 5)
@Column(name = "codePostale")
private String codeP
@Size(max = 35)
@Column(name = "ville")
@Size(max = 35)
@Column(name = "pays")
@Column(name = "dateModif")
@Temporal(TemporalType.DATE)
private Date dateM
@OneToMany(mappedBy = "adrU")
private Collection&Utilisateur& utilisateurC
@OneToMany(mappedBy = "adrRecep")
private Collection&Livraison& livraisonC
@OneToMany(mappedBy = "adrE")
private Collection&Entreprise& entrepriseC
public Adresse() {
public Adresse(Long idAdresse) {
this.idAdresse = idA
public Long getIdAdresse() {
return idA
public void setIdAdresse(Long idAdresse) {
this.idAdresse = idA
public String getNumEtRue() {
return numEtR
public void setNumEtRue(String numEtRue) {
this.numEtRue = numEtR
public String getComple() {
public void setComple(String comple) {
public String getCodePostale() {
return codeP
public void setCodePostale(String codePostale) {
this.codePostale = codeP
public String getVille() {
public void setVille(String ville) {
this.ville =
public String getPays() {
public void setPays(String pays) {
this.pays =
public Date getDateModif() {
return dateM
public void setDateModif(Date dateModif) {
this.dateModif = dateM
@XmlTransient
public Collection&Utilisateur& getUtilisateurCollection() {
return utilisateurC
public void setUtilisateurCollection(Collection&Utilisateur& utilisateurCollection) {
this.utilisateurCollection = utilisateurC
@XmlTransient
public Collection&Livraison& getLivraisonCollection() {
return livraisonC
public void setLivraisonCollection(Collection&Livraison& livraisonCollection) {
this.livraisonCollection = livraisonC
@XmlTransient
public Collection&Entreprise& getEntrepriseCollection() {
return entrepriseC
public void setEntrepriseCollection(Collection&Entreprise& entrepriseCollection) {
this.entrepriseCollection = entrepriseC
public int hashCode() {
int hash = 0;
hash += (idAdresse != null ? idAdresse.hashCode() : 0);
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are not set
if (!(object instanceof Adresse)) {
Adresse other = (Adresse)
if ((this.idAdresse == null && other.idAdresse != null) || (this.idAdresse != null && !this.idAdresse.equals(other.idAdresse))) {
public String toString() {
return "entities.Adresse[ idAdresse=" + idAdresse + " ]";
session bean
* To change this template, choose Tools | Templates
* and open the template in the editor.
import entities.A
import java.util.L
import javax.ejb.S
import javax.ejb.LocalB
import javax.persistence.EntityM
import javax.persistence.PersistenceC
import javax.persistence.Q
* @author John624
@Stateless
@LocalBean
public class AdresseManager {
@PersistenceContext(unitName = "ECOM-ejbPU")
private EntityM
public List&Adresse& getAllAdresses() {
Query query=em.createNamedQuery("Adresse.findAll");
return query.getResultList();
public Adresse update(Adresse adresse) {
return em.merge(adresse);
public void persist(Object object) {
em.persist(object);
public Long nextId(){
Query query = em.createNamedQuery("Adresse.maxId");
res = query.getResultList().indexOf(0)+1;
JSF managedbean
* To change this template, choose Tools | Templates
* and open the template in the editor.
import entities.A
import java.io.S
import java.util.L
import javax.ejb.EJB;
import javax.enterprise.context.SessionS
import javax.inject.N
import session.AdresseM
* @author John624
@Named(value="adresseMBean")
@SessionScoped
public class AdresseMBean implements Serializable{
private List&Adresse&
private AdresseManager adresseM
public AdresseMBean() {
adresse=new Adresse();
adresseManager = new AdresseManager();
* returns customer list for display in a datatable DataTable
public List&Adresse& getAdresses() {
if((adresses == null) || (adresses.isEmpty()))
adresses = adresseManager.getAllAdresses();
return adresseManager.getAllAdresses();
public void refresh() {
tousLesComptes = compteBancaireFacade.findAll();
* returns details of a customer. Useful for displaying in a form a customer's details
public Adresse getDetails() {
* Action handler - Called when a line in the table is clicked
* @param adresse
public String showDetails(Adresse adresse) {
this.adresse =
return "AdresseDetails"; // will display CustomerDetails.xml JSF page
* Action handler - update the customer model in the database.
* called when one press the update button in the form
public String
update() {
System.out.println("###UPDATE###");
adresse = adresseManager.update(adresse);
return "AdresseList"; // will display the customer list in a table
* Action handler - returns to the list of customers in the table
public String list() {
System.out.println("###LIST###");
return "AdresseList";
public void update(Adresse adrU) {
System.out.println("###UPDATE###");
adresseManager.update(adrU);
Thanks in advance.
As indicated by the following exception stacktrace
Exception Description: Error encountered when building the @NamedQuery [Adresse.maxId] from entity class [class org.eclipse.persistence.internal.jpa.metadata.queries.NamedQueryMetadata].
the problem is here :
@NamedQuery(name = "Adresse.maxId", query = "SELECT max(idAdresse) FROM Adresse"),
To solve the problem, try this instead:
@NamedQuery(name = "Adresse.maxId", query = "SELECT max(a.idAdresse) FROM Adresse a"),
Try out these steps:
Undeploy the application from glassfish server.
Restart the glassfish server.
Restart netbeans.
Again deploy your application on the glassfish server.
Try to remove adresseManager = new AdresseManager(); from your AdresseMBean class.
@EJB injects and creates already the object.
Then try to redeploy the project and put a debug breakpoint in getAdresses method to see if adresseManager object isn't null or do a poor Sysout.
If you want to initialize services on starting of a managed bean, you'll need to use @PostConstruct annotation on a custom public method inside managed bean and code your
initialisation there (eg. loading entity list from db).
Hope it will help you.
PS : Excuse my mistakes for english language, i'm French.
PS2 : I've not seen that it was working before, so it is perhaps a deployment problem !
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
rev .24790
Stack Overflow works best with JavaScript enabled}

我要回帖

更多关于 netbean 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信