1
나는 리버스 엔지니어링을 Hibernate3는 메이븐 플러그인을 사용하고

,이 기본 reverseStrategy 아닌 다음 그것은 데이터베이스에 대한 연결이 괜찮다는 것을 보이지만,이 클래스를 생성Hibernate3 Maven Plugin 오류 : 하나의 인수 위임 생성자를 사용하여 "MyReverseStrategy.java"를 만들거나 찾을 수 없습니다?

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>hibernate3-maven-plugin</artifactId> 
      <version>2.2</version> 
      <executions> 
       <execution> 
        <id>hbm2java</id> 
        <phase>generate-sources</phase> 
        <goals> 
         <goal>hbm2java</goal> 
        </goals> 
        <configuration> 
         <components> 
          <component> 
           <name>hbm2java</name> 
           <implementation>jdbcconfiguration</implementation> 
           <outputDirectory>target/generatedClasses</outputDirectory> 
          </component> 

         </components> 
         <componentProperties> 
          <jdk5>true</jdk5> 
          <ejb3>false</ejb3> 
          <revengfile>/src/main/resources/reverse/engineering/hibernate.reveng.xml</revengfile> 
          <reversestrategy>/src/main/resources/reverse/engineering/MyReverseEngineeringStrategy.java</reversestrategy> 
          <propertyfile>src/main/resources/hibernate.properties</propertyfile> 
          <configurationFile>target/generatedClasses/hibernate.cfg.xml</configurationFile> 
         </componentProperties> 
        </configuration> 
       </execution> 

내 pom.xml 파일의 일부입니다 하나는 "MyReverseEngineeringStrategy.java"라고 선언했습니다. 그리고 stacktrace에서이 오류가 발생합니다. 최대 절전 모드 도구를 사용하여

[ERROR] Could not create or find /src/main/resources/reverse/engineering/MyReverseEngineeringStrategy.java with one argu 
ment delegate constructor 
java.lang.ClassNotFoundException: /src/main/resources/reverse/engineering/MyReverseEngineeringStrategy.java 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Class.java:171) 
     at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:123) 
     at org.codehaus.mojo.hibernate3.configuration.JDBCComponentConfiguration.loadReverseStrategy(JDBCComponentConfig 
uration.java:100) 
     at org.codehaus.mojo.hibernate3.configuration.JDBCComponentConfiguration.doConfiguration(JDBCComponentConfigurat 
ion.java:42) 
     at org.codehaus.mojo.hibernate3.configuration.AbstractComponentConfiguration.getConfiguration(AbstractComponentC 
onfiguration.java:56) 
     at org.codehaus.mojo.hibernate3.HibernateExporterMojo.configureExporter(HibernateExporterMojo.java:200) 
     at org.codehaus.mojo.hibernate3.HibernateExporterMojo.doExecute(HibernateExporterMojo.java:273) 
     at org.codehaus.mojo.hibernate3.HibernateExporterMojo.execute(HibernateExporterMojo.java:152) 
     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.MojoExecutor.executeForkedExecutions(MojoExecutor.java:365) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:199) 
     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:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 

내 역 전략 클래스를 생성 할 수 있었다 이클립스 플러그인하지만 난 내 프로젝트를 이클립스에서 독립되고 싶어요. 제안 사항!

+0

동일한 오류가 발생했는데 이것은 바보 같은 또 다른 실수로 인한 것입니다. mvn hibernate3 : hbm2java를 호출하기 전에 mvn install을 호출하는 것을 잊어 버렸기 때문에 내 사용자 정의 전략 클래스가 생성 된 .jar 파일에 없었습니다. –

답변

0

너무 바보 같지만 오류 메시지가 도움이되지 않았습니다. 그래서 문제는

<reversestrategy>reverse.engineering.MyReverseEngineeringStrategy</reversestrategy> 

그것은 완벽하게 작동, 나는 다음과 같이 변경

<reversestrategy>/src/main/resources/reverse/engineering/MyReverseEngineeringStrategy.java</reversestrategy> 

로했다.