2017-08-21 4 views
1

J'utilise Proguard pour minimiser la taille de mon pot ombré/uber. Cela fonctionnait bien jusqu'à ce que j'ai inclus une dépendance sur ObjectDB. Que dois-je conserver pour que ObjectDB fonctionne?Que dois-je conserver dans Proguard pour exécuter ObjectDB?

Je reçois la sortie suivante lorsque j'appelle Persistence.createEntityManagerFactory().

javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver log 
WARNING: javax.persistence.spi::No valid providers found using: 
javax.persistence.spi.PersistenceProviderResolverHolder$DefaultPersistenceProviderResolver log 
WARNING: javax.persistence.spi::com.objectdb.jpa.Provider - jar:file:/C:/Documents/JProjects/TimeClock/target/TimeClock-1.5.0.jar!/META-INF/services/javax.persistence.spi.PersistenceProvider 

javax.persistence.PersistenceException: No Persistence provider for EntityManager named db.odb 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:85) 
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) 

Répondre

1

Utilisez l'option Proguard suivante:

-keep class com.objectdb.jpa.Provider {<fields>; <methods>;}