2015-08-14 89 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並對其進行分類。