2015-08-14 93 views
0

我正在创建一个AuditableEntityManager,它将json消息放入路由到ELK集群的JMS队列中以用于审计目的。实现EntityManager编译错误

大部分的实现仅仅是通过,例如我有

EntityManager entityManager_ = null; 

public AuditableEntityManagerImpl(String name, 
           PersistenceProperty [] properties, 
           SynchronizationType synchronization, 
           PersistenceContextType type, 
           String unitName) 
{ 
    //TODO - Figure out how to configure the rest of the properties 
    entityManager_ = Persistence.createEntityManagerFactory(name).createEntityManager(); 
} 

而且大多数方法看起来像

@Override 
public <T> T find(Class<T> entityClass, Object primaryKey) 
{ 
    return entityManager_.find(entityClass, primaryKey); 
} 

随着易变的方法除外,它具有待完成块,我将把审计分析器

@Override 
public void remove(Object entity) 
{ 
    entityManager_.remove(entity); 
    //TODO - LOG to audit 
} 

我允许eclipse填充th缺少接口和IDE中的方法都是绿色的。当我尝试构建时(使用maven),我得到一堆错误,指出无法找到许多javax.performance的东西,并且许多方法在EntityManager中不存在。我已经刷新了我的.m2/repository以确保它在那里没有被破坏,但没有运气。

错误堆栈如下,道歉的长度。任何想法将不胜感激。

[INFO] ------------------------------------------------------------- 
[ERROR] COMPILATION ERROR : 
[INFO] ------------------------------------------------------------- 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[6,25] cannot find symbol 
    symbol: class EntityGraph 
    location: package javax.persistence 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[16,25] cannot find symbol 
    symbol: class StoredProcedureQuery 
    location: package javax.persistence 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[17,25] cannot find symbol 
    symbol: class SynchronizationType 
    location: package javax.persistence 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[20,34] cannot find symbol 
    symbol: class CriteriaDelete 
    location: package javax.persistence.criteria 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[22,34] cannot find symbol 
    symbol: class CriteriaUpdate 
    location: package javax.persistence.criteria 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[31,37] cannot find symbol 
    symbol: class SynchronizationType 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[194,28] cannot find symbol 
    symbol: class CriteriaUpdate 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[200,28] cannot find symbol 
    symbol: class CriteriaDelete 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[242,10] cannot find symbol 
    symbol: class StoredProcedureQuery 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[248,10] cannot find symbol 
    symbol: class StoredProcedureQuery 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[254,10] cannot find symbol 
    symbol: class StoredProcedureQuery 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[260,10] cannot find symbol 
    symbol: class StoredProcedureQuery 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[326,14] cannot find symbol 
    symbol: class EntityGraph 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[332,10] cannot find symbol 
    symbol: class EntityGraph 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[338,10] cannot find symbol 
    symbol: class EntityGraph 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[344,19] cannot find symbol 
    symbol: class EntityGraph 
    location: class psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[14,25] cannot find symbol 
    symbol: class SynchronizationType 
    location: package javax.persistence 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[24,3] cannot find symbol 
    symbol: class SynchronizationType 
    location: @interface psu.edu.javaee.audit.producer.AuditableEntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManager.java:[24,49] cannot find symbol 
    symbol: variable SynchronizationType 
    location: @interface psu.edu.javaee.audit.producer.AuditableEntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[200,16] createQuery(CriteriaDelete) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl cannot implement <T>createQuery(javax.persistence.criteria.CriteriaQuery<T>) in javax.persistence.EntityManager 
    return type javax.persistence.Query is not compatible with javax.persistence.TypedQuery<T> 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[182,16] name clash: createQuery(java.lang.String) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl overrides a method whose erasure is the same as another method, yet neither overrides the other 
    first method: <T>createQuery(javax.persistence.criteria.CriteriaQuery<T>) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
    second method: createQuery(CriteriaDelete) in psu.edu.javaee.audit.producer.AuditableEntityManagerImpl 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[241,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[244,26] cannot find symbol 
    symbol: method createNamedStoredProcedureQuery(java.lang.String) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[247,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[250,26] cannot find symbol 
    symbol: method createStoredProcedureQuery(java.lang.String) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[253,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[256,26] cannot find symbol 
    symbol: method createStoredProcedureQuery(java.lang.String,java.lang.Class[]) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[259,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[262,26] cannot find symbol 
    symbol: method createStoredProcedureQuery(java.lang.String,java.lang.String[]) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[271,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[274,26] cannot find symbol 
    symbol: method isJoinedToTransaction() 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[325,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[328,26] cannot find symbol 
    symbol: method createEntityGraph(java.lang.Class<T>) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[331,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[334,26] cannot find symbol 
    symbol: method createEntityGraph(java.lang.String) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[337,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[340,26] cannot find symbol 
    symbol: method getEntityGraph(java.lang.String) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[343,3] method does not override or implement a method from a supertype 
[ERROR] /home/shawn/git/auditable-entity-manager/auditable-entity-manager-common/src/main/java/psu/edu/javaee/audit/producer/AuditableEntityManagerImpl.java:[346,26] cannot find symbol 
    symbol: method getEntityGraphs(java.lang.Class<T>) 
    location: variable entityManager_ of type javax.persistence.EntityManager 
+0

Eclipse正在使用JPA 2.1批注,而您的maven版本很可能使用没有新类的JPA 1.0 jar – Chris

+0

您是完全正确的Chris,谢谢。不幸的是,我的工具集也给我提供了不好的信息。 –

回答

0

Bad archetype =糟糕的pom + eclipse显示javaee-api版本1.7,但1.6在类路径中。清理pom并对其进行分类。