Не удалось определить класс при развертывании моего проекта EJB с помощью Wildfly 14
Я хочу развернуть свой проект EJB на сервере Wildfly 14, я установил источник данных и проверил, работает ли он, я протестировал развертывание своего проекта без Java Classes
и это сработало, но когда я добавил свой Java Classes
У меня не получилось. Сообщение об ошибке, которое я получил:
12:31:20,381 ПРЕДУПРЕЖДЕНИЕ [org.jboss.modules.define] (служебный поток MSC 1-7) Не удалось определить класс com.session.ImpCompteSociete в модуле "deployment.Projet_EJB.jar" из загрузчика служебного модуля: java.lang.UnsupportedClassVersionError: не удалось связать com/session/ImpCompteSociete (модуль "deployment.Projet_EJB.jar" из загрузчика служебного модуля): com/session/ImpCompteSociete был скомпилирован более поздней версией среды выполнения Java (версия файла класса 55.0), это версия Java Runtime распознает только версии файлов классов до 52.0 в java.lang.ClassLoader.defineClass1(собственный метод) в java.lang.ClassLoader.defineClass(ClassLoader.java:763)
Вот один из моих занятий:
package com.entities;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@SuppressWarnings("serial")
@Entity
@Table(name = "tbl_clients")
public class Client implements Serializable {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private int code;
private String nom;
private String prenom;
private String ville;
@ManyToMany(mappedBy = "clients")
private List<Produit> produits;
@OneToOne
@JoinColumn(name = "numero_compte")
private Compte_Societe compte_societe;
public Client() {
super();
// TODO Auto-generated constructor stub
}
public Client(int code, String nom, String prenom, String ville) {
super();
this.code = code;
this.nom = nom;
this.prenom = prenom;
this.ville = ville;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public String getPrenom() {
return prenom;
}
public void setPrenom(String prenom) {
this.prenom = prenom;
}
public String getVille() {
return ville;
}
public void setVille(String ville) {
this.ville = ville;
}
public List<Produit> getProduits() {
return produits;
}
public void setProduits(List<Produit> produits) {
this.produits = produits;
}
public Compte_Societe getCompte_societe() {
return compte_societe;
}
public void setCompte_societe(Compte_Societe compte_societe) {
this.compte_societe = compte_societe;
}
}
Мой удаленный класс и его интерфейс:
Интерфейс:
package com.session;
import java.util.List;
import javax.ejb.Remote;
import com.entities.Client;
@Remote
public interface IRemote_Client {
public void addClient(Client clt);
public boolean deleteClient(int code);
public boolean updateClient(Client clt);
public Client getClient(int code);
public List<Client> getAllClients();
}
RemoteClass:
package com.session;
import java.util.List;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.entities.Client;
/**
* Session Bean implementation class IRemote_Client
*/
@Stateless(name = "RClient")
@LocalBean
public class ImpClient implements IRemote_Client {
@PersistenceContext
EntityManager EM;
public ImpClient() {
// TODO Auto-generated constructor stub
}
@Override
public void addClient(Client clt) {
EM.persist(clt);
}
@Override
public boolean deleteClient(int code) {
Client clt = EM.find(Client.class, code);
if(clt != null) {
EM.remove(clt);
return true;
}
return false;
}
@Override
public boolean updateClient(Client clt) {
Client client = EM.find(Client.class, clt.getCode());
if(client != null) {
EM.merge(clt);
return true;
}
return false;
}
@Override
public Client getClient(int code) {
Client clt = EM.find(Client.class, code);
return clt;
}
@SuppressWarnings("unchecked")
@Override
public List<Client> getAllClients() {
Query query = EM.createQuery("from Client");
return query.getResultList();
}
}
и мой Persistence.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
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_2_0.xsd">
<persistence-unit name="Projet_EJB" transaction-type="JTA">
<jta-data-source>java:/dsAvion</jta-data-source>
<class>com.entities.Client</class>
<class>com.entities.Produit</class>
<class>com.entities.Fournisseur</class>
<class>com.entities.Compte_Societe</class>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
</properties>
</persistence-unit>
</persistence>