Verwenden von JDO Persistent-Klassen aus einem separaten Modul mit Datanucleus Maven-Plugin

Ich habe eine funktionierende Anwendung, die mithilfe von JDO in einer Datenbank verbleibt. Ich möchte eine PersistenceCapable-Klasse verwenden, die sich in einem zweiten Java-Modul befindet. Obwohl die App einen einfachen Test kompiliert, gibt es den Fehler:

Die Klasse "com.hello.world.Foo" ist nicht persistent. Dies bedeutet, dass sie entweder nicht erweitert wurde oder dass die erweiterte Version der Datei nicht in CLASSPATH enthalten ist (oder von einer nicht erweiterten Version ausgeblendet wird), oder dass die Meta- Daten / Anmerkungen für die Klasse wurden nicht gefunden.

Ok, das Enhancer-Plugin wird für die Klassen im zweiten Modul nicht ausgeführt. Ich bin nicht sicher, was ich tun muss, um den Enhancer während des Builds auf dieses Modul zu richten.

ParentProjectZweites Modul: com.hello.world.Foo

ParentProject pom.xml mit relevanten Teilen - Problem ist, wie ich den Enhancer auf das zweite Modul mit meiner persistenten Klasse zeige?

    <dependencies>


        <dependency>
            <groupId>Second Module</groupId>
            <artifactId>Second Module</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>javax.jdo</groupId>
            <artifactId>jdo-api</artifactId>
            <version>3.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-core</artifactId>
            <version>[3.2.0, 3.2.99)</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-api-jdo</artifactId>
            <version>[3.2.0, 3.2.99)</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-rdbms</artifactId>
            <version>[3.2.0, 3.2.99)</version>
            <scope>runtime</scope>
        </dependency>


    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.datanucleus</groupId>
                <artifactId>datanucleus-maven-plugin</artifactId>
                <version>3.3.0-release</version>
                <configuration>
                    <api>JDO</api>
                    <props>${basedir}/datanucleus.properties</props>
                    <log4jConfiguration>${basedir}/log4j.properties</log4jConfiguration>
                    <verbose>true</verbose>
                </configuration>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>enhance</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage