我想从maven生命周期中集成的数据库生成er-diagram。 SchemaSpy生成er-diagram,使用maven-schemaspy-plugin,应该可以在生命周期过程中集成它。 (如果有人对此有更好的了解,请告诉我)
我尝试使用以下简单的pom.xml(只应该生成er-diagram);但插件没有启动;它甚至无法下载:
<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>test.schemaspy</groupId>
<artifactId>SchemaSpyGenerateDB_02</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>SchemaSpyGenerateDB_02</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>maven-plugins</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>maven-plugins</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
<type>plugin</type>
</dependency>
</dependencies>
<!-- To use the report goals in your POM or parent POM -->
<reporting>
<plugins>
<plugin>
<groupId>maven-plugins</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.1</version>
<configuration>
<databaseType>derby</databaseType>
<database>JPACertifiaction_Relationship</database>
<host>localhost</host>
<port>1527</port>
<user>user</user>
<password>password</password>
</configuration>
</plugin>
</plugins>
</reporting>
</project>
命令
mvn site:site
导致消息
maven-plugins的POM:maven-schemaspy-plugin:jar:1.0缺失,没有可用的依赖信息
maven-plugins的POM:maven-schemaspy-plugin:插件:1.0缺少,没有相关信息可用
我也尝试过以下设置但没有成功:
<dependency>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>5.0.1</version>
</dependency>
....
<reporting>
<plugins>
<plugin>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>5.0.1</version>
....
<repository>
<id>Wakaleo Repository</id>
<url>http://maven.wakaleo.com/mojo/maven-schemaspy-plugin/</url>
</repository>
我也感到困惑的是,有不同的版本1.0 / 5.0.1有不同的版本,所以真正的官方版本是什么?
答案 0 :(得分:1)
您不需要条目
<dependencies>
<dependency>
<groupId>maven-plugins</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>maven-plugins</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
<type>plugin</type>
</dependency>
</dependencies>
删除它们。当您定义插件(稍后插件部分)时,它会自动由maven下载。您的错误消息表明缺少1.0,但您的插件是1.1,因此无论如何它都不适合您的依赖项。
maven-schemaspy-plugin和com.wakaleo.schemaspy插件是来自不同作者的不同插件。它们都不是“官方模式”maven插件。我只能用wakaleo插件解决它(使用maven 3)。其他插件接缝不再可用。
使用Maven 3,网站生成发生了变化,请参阅site generation in Maven 3。如本博客文章中所述,您必须以这种方式包含插件(请注意版本控制已更改):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.1</version>
<configuration>
<reportPlugins>
<plugin>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0.4</version>
<configuration>
<databaseType>derby</databaseType>
<database>JPACertifiaction_Relationship</database>
<host>localhost</host>
<port>1527</port>
<user>user</user>
<password>password</password>
</configuration>
</plugin>
</reportPlugins>
</configuration>
</plugin>
</plugins>
</build>
,您需要指向存储库的链接:
<pluginRepositories>
<pluginRepository>
<id>Wakaleo Repository</id>
<url>http://www.wakaleo.com/maven/repos/</url>
</pluginRepository>
</pluginRepositories>
然后插件启动。剩下的由您决定: - )