2017-10-09 8 views
0

Je déplace mes principaux modèles de mon application vers un autre plugin qui sera utilisé sur le client et le serveur. Maintenant, quand j'ajoute mon nouveau plugin aux plugins requis dans mon premier plugin, il donne java.lang.NoClassDefFoundError.Eclipse E4 ne peut pas charger les classes d'autres plugins

Toutes mes classes dans le plugin partagé ne peuvent pas être trouvées dans mon plugin principal. Y at-il un moyen facile de le faire fonctionner. Je vérifie également la configuration d'exécution mais le plugin partagé est sélectionné pour charger.

Mon principal manifeste du plugin ressemble:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: CR-IT System Platform 
Bundle-SymbolicName: CR-IT_client;singleton:=true 
Bundle-Version: 0.26.2 
Bundle-Activator: com.test.client.eclipse.Activator 
Bundle-Vendor: test 
Application-Name: CR-IT System Platform 
Permissions: all-permissions 
Require-Bundle: javax.inject;bundle-version="1.0.0", 
org.eclipse.core.runtime;bundle-version="3.11.1", 
org.eclipse.swt;bundle-version="3.104.2", 
org.eclipse.e4.ui.model.workbench;bundle-version="1.1.100", 
org.eclipse.jface;bundle-version="3.11.1", 
org.eclipse.e4.ui.services;bundle-version="1.2.0", 
org.eclipse.e4.ui.workbench;bundle-version="1.3.1", 
org.eclipse.e4.core.di;bundle-version="1.5.0", 
org.eclipse.e4.ui.di;bundle-version="1.1.0", 
org.eclipse.e4.core.contexts;bundle-version="1.4.0", 
org.eclipse.nebula.widgets.pshelf;bundle-version="1.1.0", 
org.eclipse.e4.core.services;bundle-version="2.0.0", 
org.eclipse.nebula.widgets.nattable.core;bundle-version="1.4.0", 
org.eclipse.e4.core.commands;bundle-version="0.11.100", 
org.eclipse.nebula.widgets.nattable.extension.e4;bundle-version="1.0.0", 
org.eclipse.nebula.widgets.nattable.extension.glazedlists;bundle-version="1.4.0", 
ca.odell.glazedlists;bundle-version="1.9.0", 
org.eclipse.ui.forms;bundle-version="3.7.0", 
org.eclipse.equinox.launcher;bundle-version="1.3.200", 
org.eclipse.rcp;bundle-version="4.6.2", 
org.eclipse.equinox.p2.core;bundle-version="2.4.100", 
org.eclipse.equinox.p2.engine;bundle-version="2.4.100", 
org.eclipse.equinox.p2.operations;bundle-version="2.4.200", 
org.eclipse.equinox.p2.metadata.repository;bundle-version="1.2.300", 
org.eclipse.nebula.widgets.nattable.extension.poi;bundle-version="1.5.0", 
org.apache.poi;bundle-version="3.9.0", 
org.eclipse.e4.ui.workbench.swt, 
CR-IT_Models;bundle-version="1.0.0" 
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 
Import-Package: com.test.shared.custom, 
com.test.shared.models, 
org.osgi.framework;version="1.3.0" 
Bundle-ActivationPolicy: lazy 
Bundle-ClassPath: ., 
libs/json-simple-1.1.1.jar, 
libs/gettext-commons-0.9.8.jar, 
libs/java_websocket.jar, 
libs/jackson-core-2.8.2.jar, 
libs/jackson-databind-2.8.2.jar, 
libs/jackson-annotations-2.8.2.jar, 
libs/org.swtchart_0.10.0.v20160212.jar, 
libs/org.swtchart.ext_0.10.0.v20160212.jar, 
libs/commons-io-2.5.jar, 
libs/swing2swt.jar, 
libs/logback-classic-1.1.7.jar, 
libs/logback-core-1.1.7.jar, 
libs/slf4j-api-1.7.21.jar, 
libs/jackson-datatype-jsr310-2.8.2.jar, 
libs/guava-21.0.jar 

Le manifeste plug-in partagé ressemble:

Manifest-Version: 1.0 
Bundle-ManifestVersion: 2 
Bundle-Name: CR-IT_Models 
Bundle-SymbolicName: CR-IT_Models 
Bundle-Version: 1.0.0 
Bundle-ClassPath: libs/hibernate-c3p0-5.1.1.Final.jar, 
libs/hibernate-commons-annotations-5.0.1.Final.jar, 
libs/hibernate-core-5.1.1.Final.jar, 
libs/hibernate-java8-5.1.1.Final.jar, 
libs/hibernate-jpa-2.1-api-1.0.0.Final.jar, 
libs/lombok.jar, 
libs/logback-core-1.1.7.jar, 
libs/slf4j-api-1.7.21.jar 
Export-Package: Class50.lombok.eclipse.agent, 
Class50.lombok.launch, 
ch.qos.logback.core, 
ch.qos.logback.core.boolex, 
ch.qos.logback.core.db, 
ch.qos.logback.core.db.dialect, 
ch.qos.logback.core.encoder, 
ch.qos.logback.core.filter, 
ch.qos.logback.core.helpers, 
ch.qos.logback.core.hook, 
ch.qos.logback.core.html, 
ch.qos.logback.core.joran, 
ch.qos.logback.core.joran.action, 
ch.qos.logback.core.joran.conditional, 
ch.qos.logback.core.joran.event, 
ch.qos.logback.core.joran.event.stax, 
ch.qos.logback.core.joran.node, 
ch.qos.logback.core.joran.spi, 
ch.qos.logback.core.joran.util, 
ch.qos.logback.core.joran.util.beans, 
ch.qos.logback.core.layout, 
ch.qos.logback.core.net, 
ch.qos.logback.core.net.server, 
ch.qos.logback.core.net.ssl, 
ch.qos.logback.core.pattern, 
ch.qos.logback.core.pattern.color, 
ch.qos.logback.core.pattern.parser, 
ch.qos.logback.core.pattern.util, 
ch.qos.logback.core.property, 
ch.qos.logback.core.read, 
ch.qos.logback.core.recovery, 
ch.qos.logback.core.rolling, 
ch.qos.logback.core.rolling.helper, 
ch.qos.logback.core.sift, 
ch.qos.logback.core.spi, 
ch.qos.logback.core.status, 
ch.qos.logback.core.subst, 
ch.qos.logback.core.util, 
com.test.shared.custom, 
com.test.shared.models, 
com.zwitserloot.cmdreader, 
javax.persistence, 
javax.persistence.criteria, 
javax.persistence.metamodel, 
javax.persistence.spi, 
lombok, 
lombok.bytecode, 
lombok.core, 
lombok.core.configuration, 
lombok.core.debug, 
lombok.core.handlers, 
lombok.core.runtimeDependencies, 
lombok.delombok, 
lombok.delombok.ant, 
lombok.eclipse, 
lombok.eclipse.agent, 
lombok.eclipse.handlers, 
lombok.eclipse.handlers.singulars, 
lombok.experimental, 
lombok.extern.apachecommons, 
lombok.extern.java, 
lombok.extern.jbosslog, 
lombok.extern.log4j, 
lombok.extern.slf4j, 
lombok.installer, 
lombok.installer.eclipse, 
lombok.javac, 
lombok.javac.apt, 
lombok.javac.handlers, 
lombok.javac.handlers.singulars, 
lombok.javac.java6, 
lombok.javac.java7, 
lombok.javac.java8, 
lombok.launch, 
lombok.patcher, 
lombok.patcher.equinox, 
lombok.patcher.inject, 
lombok.patcher.scripts, 
org.hibernate, 
org.hibernate.action.internal, 
org.hibernate.action.spi, 
org.hibernate.annotations, 
org.hibernate.annotations.common, 
org.hibernate.annotations.common.annotationfactory, 
org.hibernate.annotations.common.reflection, 
org.hibernate.annotations.common.reflection.java, 
org.hibernate.annotations.common.reflection.java.generics, 
org.hibernate.annotations.common.util, 
org.hibernate.annotations.common.util.impl, 
org.hibernate.boot, 
org.hibernate.boot.archive.internal, 
org.hibernate.boot.archive.scan.internal, 
org.hibernate.boot.archive.scan.spi, 
org.hibernate.boot.archive.spi, 
org.hibernate.boot.cfgxml.internal, 
org.hibernate.boot.cfgxml.spi, 
org.hibernate.boot.internal, 
org.hibernate.boot.jaxb, 
org.hibernate.boot.jaxb.cfg.spi, 
org.hibernate.boot.jaxb.hbm.internal, 
org.hibernate.boot.jaxb.hbm.spi, 
org.hibernate.boot.jaxb.internal, 
org.hibernate.boot.jaxb.internal.stax, 
org.hibernate.boot.jaxb.spi, 
org.hibernate.boot.model, 
org.hibernate.boot.model.naming, 
org.hibernate.boot.model.process.internal, 
org.hibernate.boot.model.process.spi, 
org.hibernate.boot.model.relational, 
org.hibernate.boot.model.source.internal, 
org.hibernate.boot.model.source.internal.annotations, 
org.hibernate.boot.model.source.internal.hbm, 
org.hibernate.boot.model.source.spi, 
org.hibernate.boot.registry, 
org.hibernate.boot.registry.classloading.internal, 
org.hibernate.boot.registry.classloading.spi, 
org.hibernate.boot.registry.internal, 
org.hibernate.boot.registry.selector, 
org.hibernate.boot.registry.selector.internal, 
org.hibernate.boot.registry.selector.spi, 
org.hibernate.boot.spi, 
org.hibernate.bytecode.enhance.internal, 
org.hibernate.bytecode.enhance.internal.tracker, 
org.hibernate.bytecode.enhance.spi, 
org.hibernate.bytecode.enhance.spi.interceptor, 
org.hibernate.bytecode.internal.javassist, 
org.hibernate.bytecode.spi, 
org.hibernate.c3p0.internal, 
org.hibernate.cache, 
org.hibernate.cache.internal, 
org.hibernate.cache.spi, 
org.hibernate.cache.spi.access, 
org.hibernate.cache.spi.entry, 
org.hibernate.cfg, 
org.hibernate.cfg.annotations, 
org.hibernate.cfg.annotations.reflection, 
org.hibernate.cfg.beanvalidation, 
org.hibernate.classic, 
org.hibernate.collection.internal, 
org.hibernate.collection.spi, 
org.hibernate.context, 
org.hibernate.context.internal, 
org.hibernate.context.spi, 
org.hibernate.criterion, 
org.hibernate.dialect, 
org.hibernate.dialect.function, 
org.hibernate.dialect.identity, 
org.hibernate.dialect.lock, 
org.hibernate.dialect.pagination, 
org.hibernate.dialect.unique, 
org.hibernate.engine, 
org.hibernate.engine.config.internal, 
org.hibernate.engine.config.spi, 
org.hibernate.engine.internal, 
org.hibernate.engine.jdbc, 
org.hibernate.engine.jdbc.batch.internal, 
org.hibernate.engine.jdbc.batch.spi, 
org.hibernate.engine.jdbc.connections.internal, 
org.hibernate.engine.jdbc.connections.spi, 
org.hibernate.engine.jdbc.cursor.internal, 
org.hibernate.engine.jdbc.cursor.spi, 
org.hibernate.engine.jdbc.dialect.internal, 
org.hibernate.engine.jdbc.dialect.spi, 
org.hibernate.engine.jdbc.env.internal, 
org.hibernate.engine.jdbc.env.spi, 
org.hibernate.engine.jdbc.internal, 
org.hibernate.engine.jdbc.spi, 
org.hibernate.engine.jndi, 
org.hibernate.engine.jndi.internal, 
org.hibernate.engine.jndi.spi, 
org.hibernate.engine.loading.internal, 
org.hibernate.engine.profile, 
org.hibernate.engine.query.internal, 
org.hibernate.engine.query.spi, 
org.hibernate.engine.query.spi.sql, 
org.hibernate.engine.spi, 
org.hibernate.engine.transaction.internal, 
org.hibernate.engine.transaction.internal.jta, 
org.hibernate.engine.transaction.jta.platform.internal, 
org.hibernate.engine.transaction.jta.platform.spi, 
org.hibernate.engine.transaction.spi, 
org.hibernate.event.internal, 
org.hibernate.event.service.internal, 
org.hibernate.event.service.spi, 
org.hibernate.event.spi, 
org.hibernate.exception, 
org.hibernate.exception.internal, 
org.hibernate.exception.spi, 
org.hibernate.graph.spi, 
org.hibernate.hql.internal, 
org.hibernate.hql.internal.antlr, 
org.hibernate.hql.internal.ast, 
org.hibernate.hql.internal.ast.exec, 
org.hibernate.hql.internal.ast.tree, 
org.hibernate.hql.internal.ast.util, 
org.hibernate.hql.internal.classic, 
org.hibernate.hql.spi, 
org.hibernate.hql.spi.id, 
org.hibernate.hql.spi.id.global, 
org.hibernate.hql.spi.id.local, 
org.hibernate.hql.spi.id.persistent, 
org.hibernate.id, 
org.hibernate.id.enhanced, 
org.hibernate.id.factory, 
org.hibernate.id.factory.internal, 
org.hibernate.id.factory.spi, 
org.hibernate.id.insert, 
org.hibernate.id.uuid, 
org.hibernate.integrator.internal, 
org.hibernate.integrator.spi, 
org.hibernate.internal, 
org.hibernate.internal.log, 
org.hibernate.internal.util, 
org.hibernate.internal.util.beans, 
org.hibernate.internal.util.collections, 
org.hibernate.internal.util.compare, 
org.hibernate.internal.util.config, 
org.hibernate.internal.util.io, 
org.hibernate.internal.util.jndi, 
org.hibernate.internal.util.type, 
org.hibernate.internal.util.xml, 
org.hibernate.jdbc, 
org.hibernate.jmx.internal, 
org.hibernate.jmx.spi, 
org.hibernate.jpa, 
org.hibernate.loader, 
org.hibernate.loader.collection, 
org.hibernate.loader.collection.plan, 
org.hibernate.loader.criteria, 
org.hibernate.loader.custom, 
org.hibernate.loader.custom.sql, 
org.hibernate.loader.entity, 
org.hibernate.loader.entity.plan, 
org.hibernate.loader.hql, 
org.hibernate.loader.plan.build.internal, 
org.hibernate.loader.plan.build.internal.returns, 
org.hibernate.loader.plan.build.internal.spaces, 
org.hibernate.loader.plan.build.spi, 
org.hibernate.loader.plan.exec.internal, 
org.hibernate.loader.plan.exec.process.internal, 
org.hibernate.loader.plan.exec.process.spi, 
org.hibernate.loader.plan.exec.query.internal, 
org.hibernate.loader.plan.exec.query.spi, 
org.hibernate.loader.plan.exec.spi, 
org.hibernate.loader.plan.spi, 
org.hibernate.loader.spi, 
org.hibernate.lob, 
org.hibernate.mapping, 
org.hibernate.metadata, 
org.hibernate.param, 
org.hibernate.persister.collection, 
org.hibernate.persister.entity, 
org.hibernate.persister.internal, 
org.hibernate.persister.spi, 
org.hibernate.persister.walking.internal, 
org.hibernate.persister.walking.spi, 
org.hibernate.pretty, 
org.hibernate.procedure, 
org.hibernate.procedure.internal, 
org.hibernate.procedure.spi, 
org.hibernate.property.access.internal, 
org.hibernate.property.access.spi, 
org.hibernate.proxy, 
org.hibernate.proxy.map, 
org.hibernate.proxy.pojo, 
org.hibernate.proxy.pojo.javassist, 
org.hibernate.resource.jdbc, 
org.hibernate.resource.jdbc.internal, 
org.hibernate.resource.jdbc.spi, 
org.hibernate.resource.transaction, 
org.hibernate.resource.transaction.backend.jdbc.internal, 
org.hibernate.resource.transaction.backend.jdbc.spi, 
org.hibernate.resource.transaction.backend.jta.internal, 
org.hibernate.resource.transaction.backend.jta.internal.synchronization, 
org.hibernate.resource.transaction.internal, 
org.hibernate.resource.transaction.spi, 
org.hibernate.result, 
org.hibernate.result.internal, 
org.hibernate.result.spi, 
org.hibernate.secure.internal, 
org.hibernate.secure.spi, 
org.hibernate.service, 
org.hibernate.service.internal, 
org.hibernate.service.spi, 
org.hibernate.sql, 
org.hibernate.sql.ordering.antlr, 
org.hibernate.stat, 
org.hibernate.stat.internal, 
org.hibernate.stat.spi, 
org.hibernate.tool.enhance, 
org.hibernate.tool.hbm2ddl, 
org.hibernate.tool.instrument.javassist, 
org.hibernate.tool.schema, 
org.hibernate.tool.schema.extract.internal, 
org.hibernate.tool.schema.extract.spi, 
org.hibernate.tool.schema.internal, 
org.hibernate.tool.schema.internal.exec, 
org.hibernate.tool.schema.spi, 
org.hibernate.transform, 
org.hibernate.tuple, 
org.hibernate.tuple.component, 
org.hibernate.tuple.entity, 
org.hibernate.type, 
org.hibernate.type.descriptor, 
org.hibernate.type.descriptor.converter, 
org.hibernate.type.descriptor.java, 
org.hibernate.type.descriptor.sql, 
org.hibernate.usertype, 
org.hibernate.xsd.cfg, 
org.hibernate.xsd.mapping, 
org.objectweb.asm, 
org.objectweb.asm.commons, 
org.objectweb.asm.signature, 
org.objectweb.asm.tree, 
org.slf4j, 
org.slf4j.event, 
org.slf4j.helpers, 
org.slf4j.spi 
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 
Require-Bundle: javax.inject;bundle-version="1.0.0", 
org.eclipse.core.runtime;bundle-version="3.11.1", 
org.eclipse.swt;bundle-version="3.104.2", 
org.eclipse.e4.ui.model.workbench;bundle-version="1.1.100", 
org.eclipse.jface;bundle-version="3.11.1", 
org.eclipse.e4.ui.services;bundle-version="1.2.0", 
org.eclipse.e4.ui.workbench;bundle-version="1.3.1", 
org.eclipse.e4.core.di;bundle-version="1.5.0", 
org.eclipse.e4.ui.di;bundle-version="1.1.0", 
org.eclipse.e4.core.contexts;bundle-version="1.4.0", 
org.eclipse.nebula.widgets.pshelf;bundle-version="1.1.0", 
org.eclipse.e4.core.services;bundle-version="2.0.0", 
org.eclipse.nebula.widgets.nattable.core;bundle-version="1.4.0", 
org.eclipse.e4.core.commands;bundle-version="0.11.100", 
org.eclipse.nebula.widgets.nattable.extension.e4;bundle-version="1.0.0", 
org.eclipse.nebula.widgets.nattable.extension.glazedlists;bundle-version="1.4.0", 
ca.odell.glazedlists;bundle-version="1.9.0", 
org.eclipse.ui.forms;bundle-version="3.7.0", 
org.eclipse.equinox.launcher;bundle-version="1.3.200", 
org.eclipse.rcp;bundle-version="4.6.2", 
org.eclipse.equinox.p2.core;bundle-version="2.4.100", 
org.eclipse.equinox.p2.engine;bundle-version="2.4.100", 
org.eclipse.equinox.p2.operations;bundle-version="2.4.200", 
org.eclipse.equinox.p2.metadata.repository;bundle-version="1.2.300", 
org.eclipse.nebula.widgets.nattable.extension.poi;bundle-version="1.5.0", 
org.apache.poi;bundle-version="3.9.0", 
org.eclipse.e4.ui.workbench.swt, 
org.eclipse.equinox.ds;bundle-version="1.4.400", 
org.jboss.tools.hibernate.runtime.v_3_5;bundle-version="5.1.3", 
ch.qos.logback.core;bundle-version="1.0.7" 
Bundle-Vendor: test 
Bundle-ActivationPolicy: lazy 
+0

Avez-vous ajouté le nouveau plugin à la liste des dépendances du premier plugin? Avez-vous exporté les paquets du nouveau plugin? Montrez-nous le MANIFEST.MF pour les deux plugins. –

+0

J'ai ajouté les deux fichiers manifestes dans la question. – JimmyD

+0

De quelle classe se plaignent-ils? Le package contenant la classe dans cette liste d'exportation? –

Répondre

1

Si l'on suppose les classes manquantes sont dans votre code principal dans le plugin CR-IT_Models plutôt que l'un des bibliothèques vous devez avoir un . dans le Bundle-Classpath. Donc:

Bundle-ClassPath: ., 
libs/hibernate-c3p0-5.1.1.Final.jar, 
libs/hibernate-commons-annotations-5.0.1.Final.jar, 
libs/hibernate-core-5.1.1.Final.jar, 
libs/hibernate-java8-5.1.1.Final.jar, 
libs/hibernate-jpa-2.1-api-1.0.0.Final.jar, 
libs/lombok.jar, 
libs/logback-core-1.1.7.jar, 
libs/slf4j-api-1.7.21.jar 
+0

J'ai inclus le répertoire src dans le chemin de classe de mon module et cela a fait l'affaire. Tnx pour aider. – JimmyD