oboeck
I'm new here

Problem mit "firstspirit-module-parent-pom"

Jump to solution

Hallo zusammen,

ich versuche gerade anhand des von e-Spirit vorgeschlagenen Weges ein Modul zu bauen. (Wir haben bisher immer selbst entwickelte Plugins genutzt um eine FSM zu bauen).

Meine pom.xml für mein Modul sieht somit so aus

<?xml version="1.0" encoding="UTF-8"?>

<project xmlns="http://maven.apache.org/POM/4.0.0"

         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>de.xxx.firstspirit.module</groupId>

    <artifactId>tika-document-parser</artifactId>

    <version>1.0.0-SNAPSHOT</version>

    <name>Tika Document Parser</name>

    <description>Module to parse documents like pdf, docx, e.g.</description>

    <parent>

        <groupId>com.espirit.ps.maven</groupId>

        <artifactId>firstspirit-module-parent-pom</artifactId>

        <version>3.0.1</version>

    </parent>

    <properties>

        <firstspirit.version>​5.2.207​</firstspirit.version>

    </properties>

</project>

Danach ruf ich anhand der Anleitung https://community.e-spirit.com/docs/DOC-2095#comment-3754 das Commando:
Ich habe auch alle Libraries im .m2 Verzeichnis abgelegt.

mvn clean package -P firstspirit-module-create

Danach erhalte ich folgende:

[INFO] Scanning for projects...

[INFO]                                                                        

[INFO] ------------------------------------------------------------------------

[INFO] Building Tika Document Parser 1.0.0-SNAPSHOT

[INFO] ------------------------------------------------------------------------

[INFO]

[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ tika-document-parser ---

[INFO]

[INFO] --- module-resource-plugin:0.1:generate (generate-module-resources) @ tika-document-parser ---

[WARNING] Error injecting: com.espirit.ps.psci.moduleresourceplugin.GenerateModule

java.lang.NoClassDefFoundError: org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException

at java.lang.Class.getDeclaredConstructors0(Native Method)

at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)

at java.lang.Class.getDeclaredConstructors(Class.java:2020)

at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)

at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:99)

at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:658)

at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:882)

at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805)

at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282)

at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214)

at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1006)

at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1038)

at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1001)

at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051)

at org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)

at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53)

at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:65)

at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)

at org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176)

at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126)

at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68)

at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:63)

at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)

at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016)

at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)

at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012)

at org.eclipse.sisu.inject.Guice4$1.get(Guice4.java:162)

at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81)

at org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)

at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:263)

at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:255)

at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:517)

at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:121)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)

at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)

at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)

at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)

at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)

at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)

at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)

at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)

at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)

at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)

at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)

at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

Caused by: java.lang.ClassNotFoundException: org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException

at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)

at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)

at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)

at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)

... 56 more

[INFO] ------------------------------------------------------------------------

[INFO] BUILD FAILURE

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 0.719 s

[INFO] Finished at: 2019-01-22T16:55:09+01:00

[INFO] Final Memory: 10M/143M

[INFO] ------------------------------------------------------------------------

[ERROR] Failed to execute goal com.espirit.ps.psci:module-resource-plugin:0.1:generate (generate-module-resources) on project tika-document-parser: Execution generate-module-resources of goal com.espirit.ps.psci:module-resource-plugin:0.1:generate failed: A required class was missing while executing com.espirit.ps.psci:module-resource-plugin:0.1:generate: org/apache/maven/shared/dependency/graph/DependencyGraphBuilderException

[ERROR] -----------------------------------------------------

[ERROR] realm =    plugin>com.espirit.ps.psci:module-resource-plugin:0.1

[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR] urls[0] = file:/home/oboeck/.m2/repository/com/espirit/ps/psci/module-resource-plugin/0.1/module-resource-plugin-0.1.jar

[ERROR] urls[1] = file:/home/oboeck/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar

[ERROR] Number of foreign imports: 1

[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]

[ERROR]

[ERROR] -----------------------------------------------------: org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException

[ERROR] -> [Help 1]

[ERROR]

Kann mir jemand helfen wie ich hier weiterkomme? Ich will eigentlich nur ein Modul bauen welches eine Klasse in den FS-Templates oder Skripten zur Verfügung stellet (Stichwort Executable, Library Modul)

Danke und Grüße

Olli

1 Solution

Accepted Solutions

Nur um Verwirrung zu vermeiden... mit dem reinen mvn install innerhalb eures Projektes (GitHub - e-Spirit/fsmodule-resource-maven-plugin ) hat es dann funktioniert!

View solution in original post

5 Replies
witt
I'm new here

Hallo Oliver,

kannst du mir bitte sagen mit welcher maven-version du arbeitest? Bzw. wie hast du das module-resource-plugin gebaut und gab es eventuell Fehler?

Gruß und Danke,

Daniel

0 Kudos

Hey Daniel,

ich glaube es hat sich erledigt... ich hatte die module-resource-plugin.jar falsch in das lokale Maven Repo installiert. Anstelle von mvn install im eigentlichen GIT Projekt hab ich die Methode benutzt wie man 3rd Party Jars dem lokalen Repo hinzufügen kann... Maven – Guide to installing 3rd party JARs

Java: 1.8

Maven: 3.5.2

0 Kudos

Nur um Verwirrung zu vermeiden... mit dem reinen mvn install innerhalb eures Projektes (GitHub - e-Spirit/fsmodule-resource-maven-plugin ) hat es dann funktioniert!

Ich bin durch die gleiche Hölle gegangen.

Man muss jede Abhängigkeit selbst bauen und installieren, bevor man die parent pom bauen kann.

Das wäre alles nicht nötig, wenn e-Spirit endlich von nach außen erreichbares Maven-Repo hätte, dann müsste man sich die Dependencies einfach nur von dort ziehen und kann loslegen.

witt​ Ihr könntet mit einem erreichbaren (evtl. Zugriffsgeschützten) Maven-Repo vilenen eine große Freude machen. Auch das ständige herunterladen und manuelle Einspielen der fs-*.jars würde damit entfallen.

Grüße

Sandro

Es wurde zwar schon berichtet und vielen Dank dafür! Bei mir waren jedoch noch andere, daher eine kurze klare Anleitung.

2 Schritte, danach kann das eigentliche FSM Projekt gebaut werden.

1. FSM Assembly bauen

git clone https://github.com/e-Spirit/fsm-assembly.git
cd fsm-assembly
mvn clean install

 

2. Das Module Resource Maven Plugin bauen

git clone https://github.com/e-Spirit/fsmodule-resource-maven-plugin.git
cd fsmodule-resource-maven-plugin
mvn clean install

 

0 Kudos