2015-04-20 1 views
1

Je souhaite générer un graphe de schéma DB à l'aide de SchemaCrawler et de son plugin Maven. Je ne veux pas utiliser des constructions commeNPE lors de la génération d'un graphe à l'aide du plugin SchemaCrawler Maven

java -classpath ../_schemacrawler/lib/*:lib/* ... 

car il doit être universel. Je veux utiliser Maven pour toutes les dépendances et les utilisateurs n'exécuter quelque chose comme:

mvn schemacrawler:schemacrawler 

ou même un petit script bash enroulant cette commande.

Mais je reçois NullPointerException lors de l'exécution. Une partie de mon pom.xml:

<build> 
    <plugins> 
     <plugin> 
      <groupId>net.sourceforge.schemacrawler</groupId> 
      <artifactId>schemacrawler-maven-plugin</artifactId> 
      <version>9.5</version> 
      <configuration> 
       <driver>com.mysql.jdbc.Driver</driver> 
       <url>jdbc:mysql://localhost:3306/my-db</url> 
       <user>root</user> 
       <password>qwerty</password> 
       <infolevel>maximum</infolevel> 
       <command>details</command> 
      </configuration> 
      <dependencies> 
       <dependency> 
        <groupId>mysql</groupId> 
        <artifactId>mysql-connector-java</artifactId> 
        <version>5.1.35</version> 
       </dependency> 
      </dependencies> 
     </plugin> 
    </plugins> 
</build> 

Lors de l'exécution

mvn schemacrawler:schemacrawler -e 

Je reçois:

[ERREUR] Échec de l'exécution but net.sourceforge.schemacrawler: schemacrawler- maven-plugin: 9.5: schemacrawler (default-cli) sur le projet my-project: Execution default-cli de l'objectif net.sourceforge.schemacrawler: schemacrawler-maven-plugin: 9.5: schemacrawler a échoué. NullPointerException -> [Aide 1] org.apache.maven.lifecycle.LifecycleExecutionException: Impossible de exécuter objectif net.sourceforge.schemacrawler: schemacrawler-maven-plugin: 9.5: schemacrawler (default-cli) sur le projet my-projet : Exécution default-cli de l'objectif net.sourceforge.schemacrawler: schemacrawler-maven-plugin: 9.5: schemacrawler a échoué. à org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:225) à org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:153) à org. apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:145) à org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:84) à org.apache.maven. lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:59) à org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild (LifecycleStarter.java:183) à org.apach e.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:161) à org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:320) à org.apache.maven.DefaultMaven.execute (DefaultMaven. java: 156) au org.apache.maven.cli.MavenCli.execute (MavenCli.java:537) au org.apache.maven.cli.MavenCli.doMain (MavenCli.java:196) au org.apache. maven.cli.MavenCli.main (MavenCli.java:141) à sun.reflect.NativeMethodAccessorImpl.invoke0 (native Method) à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) à sun.reflect. DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) à java.lang.reflect.Method.invoke (Method.java:497) à org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:289) à org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:229) à org.codehaus .plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java: 415) à org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:356) Causée par: org.apache.maven.plugin.PluginExecutionException: exécution default-cli de l'objectif net .sourceforge.schemacrawler: schemacrawler-maven-plugin: 9.5: échec de schemacrawler . à org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:110) à org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:209) ... 19 plus causé par: java.lang.NullPointerException à java.io.File (File.java:277) à org.apache.maven.reporting.AbstractMavenReport.execute (AbstractMavenReport.java:89) à org.apache.maven. .plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:101) ... 20 plus

S'il vous plaît aidez-moi - comment il peut être fait?

Répondre

0

Veuillez utiliser le Exec Maven Plugin pour exécuter SchemaCrawler à partir de Maven, au lieu du plugin SchemaCrawler. Malheureusement, le plugin SchemaCrawler Maven n'est pas maintenu pour le moment.

Sualeh Fatehi, SchemaCrawler