2014-11-19 4 views
0

Я бегу плагин DataNucleus Enhancer от MavenDataNucleus Maven плагин энхансер ошибка - класс не найден

 <plugin> 
      <groupId>org.datanucleus</groupId> 
      <artifactId>datanucleus-maven-plugin</artifactId> 
      <version>${datanucleus.maven.plugin.version}</version> 
      <configuration> 
       <log4jConfiguration>${project.build.outputDirectory}/log4j.properties</log4jConfiguration> 
       <verbose>true</verbose> 
       <enhancerName>ASM</enhancerName> 
       <api>JPA</api> 
       <fork>false</fork> 
       <metadataIncludes>com/mydomain/*.class</metadataIncludes> 
       <generateConstructor>true</generateConstructor> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>process-classes</phase> 
        <goals> 
         <goal>enhance</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

, но я получаю эту ошибку при запуске mvn process-classes -X

[DEBUG] Configuring mojo org.datanucleus:datanucleus-maven-plugin:4.0.0-release:enhance from plugin realm ClassRealm[plugin>org.datanucleus:datanucleus-maven-plugin:4.0.0-release, parent: [email protected]] 
[DEBUG] Configuring mojo 'org.datanucleus:datanucleus-maven-plugin:4.0.0-release:enhance' with basic configurator --> 
[DEBUG] (f) alwaysDetachable = false 
[DEBUG] (f) api = JPA 
[DEBUG] (f) classpathElements = [/home/me/workspace/myproject/target/classes, ...] 
[DEBUG] (f) detachListener = false 
[DEBUG] (f) fork = false 
[DEBUG] (f) generateConstructor = true 
[DEBUG] (f) generatePK = true 
[DEBUG] (f) log4jConfiguration = /home/me/workspace/myproject/target/classes/log4j.properties 
[DEBUG] (f) metadataDirectory = /home/me/workspace/myproject/target/classes 
[DEBUG] (f) metadataIncludes = com/mydomain/*.class 
[DEBUG] (f) pluginArtifacts = [org.datanucleus:datanucleus-maven-plugin:maven-plugin:4.0.0-release:, org.codehaus.plexus:plexus-utils:jar:3.0.8:compile, org.codehaus.plexus:plexus-component-annotations:jar:1.5.5:compile, org.sonatype.sisu:sisu-inject-bean:jar:2.3.0:compile, org.sonatype.sisu:sisu-guice:jar:no_aop:3.1.0:compile, org.sonatype.sisu:sisu-guava:jar:0.9.9:compile, org.apache.xbean:xbean-reflect:jar:3.4:compile, log4j:log4j:jar:1.2.12:compile, commons-logging:commons-logging-api:jar:1.1:compile, com.google.collections:google-collections:jar:1.0:compile, junit:junit:jar:3.8.2:compile] 
[DEBUG] (f) quiet = false 
[DEBUG] (f) useFileListFile = auto 
[DEBUG] (f) verbose = true 
[DEBUG] -- end configuration -- 
[DEBUG] Metadata Directory is : /home/me/workspace/myproject/target/classes 
[INFO] CP: ... 
[INFO] CP: /home/me/workspace/myproject/target/classes 
[INFO] CP: ... 
DataNucleus Enhancer (version 4.0.4) for API "JPA" 
DataNucleus Enhancer : Classpath 
>> /usr/share/maven/boot/plexus-classworlds-2.x.jar 
ERROR [main] DataNucleus.MetaData (Log4JLogger.java:115) - Class "com.mydomain.#UNKNOWN" has MetaData yet the class cant be found. Please check your CLASSPATH specifications. 
Class "com.mydomain.MyClass" has MetaData yet the class cant be found. Please check your CLASSPATH specifications. 
ERROR [main] DataNucleus.Enhancer (Log4JLogger.java:125) - DataNucleus Enhancer completed with an error. Please review the enhancer log (at DEBUG level) for full details. Some classes may have been enhanced but some caused errors 
Class "com.mydomain.MyClass" has MetaData yet the class cant be found. Please check your CLASSPATH specifications. 
org.datanucleus.metadata.InvalidClassMetaDataException: Class "com.mydomain.MyClass" has MetaData yet the class cant be found. Please check your CLASSPATH specifications. 
    at org.datanucleus.metadata.ClassMetaData.populateMemberMetaData(ClassMetaData.java:468) 
    at org.datanucleus.metadata.ClassMetaData.populate(ClassMetaData.java:219) 
    at org.datanucleus.metadata.MetaDataManagerImpl$1.run(MetaDataManagerImpl.java:2822) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.datanucleus.metadata.MetaDataManagerImpl.populateAbstractClassMetaData(MetaDataManagerImpl.java:2816) 
    at org.datanucleus.metadata.MetaDataManagerImpl.populateFileMetaData(MetaDataManagerImpl.java:2639) 
    at org.datanucleus.metadata.MetaDataManagerImpl.initialiseFileMetaDataForUse(MetaDataManagerImpl.java:1324) 
    at org.datanucleus.metadata.MetaDataManagerImpl.loadClasses(MetaDataManagerImpl.java:613) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.getFileMetadataForInput(DataNucleusEnhancer.java:711) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.enhance(DataNucleusEnhancer.java:488) 
    at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1139) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    at org.datanucleus.maven.AbstractDataNucleusMojo.executeInJvm(AbstractDataNucleusMojo.java:331) 
    at org.datanucleus.maven.AbstractEnhancerMojo.enhance(AbstractEnhancerMojo.java:281) 
    at org.datanucleus.maven.AbstractEnhancerMojo.executeDataNucleusTool(AbstractEnhancerMojo.java:81) 
    at org.datanucleus.maven.AbstractDataNucleusMojo.execute(AbstractDataNucleusMojo.java:125) 
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
    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:84) 
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) 
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:606) 
    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) 

DataNucleus Enhancer завершена с ошибкой , Для получения подробной информации просмотрите журнал энхансеров (на уровне DEBUG). Некоторые классы, возможно, были улучшены, но некоторые из них вызвали ошибки

Я проверил каталог target/classes и класс находится там. Запуск mvn compile приводит к успеху.

ответ

0

Проблема была @AssociationOverride аннотация с неправильным именем @JoinColumn. Я думаю, сообщение об ошибке должно быть более понятным.

Смежные вопросы