ClassNotFoundError of exception when running Acceleo in standalone mode [message #1834376] |
Mon, 09 November 2020 11:09  |
Eclipse User |
|
|
|
Hi,
I'm having the following problem when I try to run Generate.java to be able to run the acceleo standalone:
nested exception is java.lang.NoClassDefFoundError: org/eclipse/core/runtime/spi/RegistryStrategy] with root cause
java.lang.ClassNotFoundException: org.eclipse.core.runtime.spi.RegistryStrategy
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588) ~[na:na]
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151) ~[sirius-web-sample-application-0.0.1-SNAPSHOT.jar:0.0.1-SNAPSHOT]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
at org.eclipse.emf.ecore.plugin.EcorePlugin.computePlatformResourceToPlatformPluginMap(EcorePlugin.java:320) ~[org.eclipse.emf.ecore-2.18.0.jar!/:na]
at org.eclipse.emf.ecore.plugin.EcorePlugin.computePlatformURIMap(EcorePlugin.java:572) ~[org.eclipse.emf.ecore-2.18.0.jar!/:na]
at org.eclipse.emf.ecore.plugin.EcorePlugin.computePlatformURIMap(EcorePlugin.java:521) ~[org.eclipse.emf.ecore-2.18.0.jar!/:na]
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:434) ~[org.eclipse.acceleo.engine-3.5.0-SNAPSHOT.jar!/:na]
at org.eclipse.sirius.web.spring.controllers.Generate.<init>(Generate.java:76) ~[sirius-web-spring-0.1.0-SNAPSHOT.jar!/:0.1.0-SNAPSHOT]
This is part of the content of my Generate.java file:
public static void main(String[] args) {
try {
URI modelURI = URI.createFileURI(args[0]);
File targetFolder = new File(args[1]);
Generate generator = new Generate(modelURI, targetFolder, Collections.emptyList());
generator.doGenerate(new BasicMonitor());
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void registerPackages(ResourceSet resourceSet) {
super.registerPackages(resourceSet);
if (!isInWorkspace(VanthPackage.class)) {
resourceSet.getPackageRegistry().put(VanthPackage.eINSTANCE.getNsURI(), VanthPackage.eINSTANCE);
}
}
/**
* This can be used to update the resource set's resource factory registry with all needed factories.
*
* @param resourceSet
* The resource set which registry has to be updated.
* @generated
*/
@Override
public void registerResourceFactories(ResourceSet resourceSet) {
super.registerResourceFactories(resourceSet);
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("vanth",new XMIResourceFactoryImpl());
/*
* Some metamodels require a very complex setup for standalone usage. For example, if you want to use a generator
* targetting UML models in standalone, you NEED to use the following:
*/
// UMLResourcesUtil.init(resourceSet)
}
This from my pom.xml:
<plugin>
<groupId>org.eclipse.acceleo</groupId>
<artifactId>org.eclipse.acceleo.maven</artifactId>
<version>3.5.2</version>
<configuration>
<useBinaryResources>false</useBinaryResources>
<usePlatformResourcePath>true</usePlatformResourcePath>
<acceleoProject>
<root>${project.basedir}</root>
<entries>
<entry>
<input>src</input>
<output>target/classes</output>
</entry>
</entries>
</acceleoProject>
<packagesToRegister>
<packageToRegister>vanth.VanthPackage</packageToRegister>
</packagesToRegister>
<uriHandler>org.eclipse.acceleo.maven.AcceleoURIHandler</uriHandler>
</configuration>
</plugin>
|
|
|
|
Re: ClassNotFoundError of exception when running Acceleo in standalone mode [message #1834455 is a reply to message #1834376] |
Tue, 10 November 2020 15:28   |
Eclipse User |
|
|
|
I executed it without maven packing the jar as you said, and I managed to solve the problem. Now I'm getting the following error when I try to run it with the emtl:
I have version 3.7.10 of aceleo and 2.22 of EMF:
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl$1DiagnosticWrappedException: org.eclipse.emf.ecore.xmi.UnresolvedReferenceException: Unresolved reference '/0/generateElementPHPDelete/e'. (jar:file:/SNAPSHOT.jar!/BOOT-INF/lib/vanth2api-1.0.0.jar!/vanth2api/main/generate.emtl, 146, 114)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.handleDemandLoadException(ResourceSetImpl.java:319)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:278)
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:406)
at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.java:391)
at org.eclipse.acceleo.common.utils.ModelUtils.load(ModelUtils.java:356)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:472)
at vanth2api.main.Generate.<init>(Generate.java:76)
Thanks!!
|
|
|
|
Powered by
FUDForum. Page generated in 0.03974 seconds