maven-schemaspy-plugin не работает (возможно, это проблема с хранилищем) - PullRequest
4 голосов
/ 07 января 2012

Я хочу сгенерировать er-диаграмму из базы данных, интегрированной в жизненный цикл maven.SchemaSpy генерирует er-диаграмму, и с помощью maven-schemaspy-plugin должна быть возможность интегрировать это в жизненный процесс.(Если у кого-то есть идея получше, пожалуйста, дайте мне знать)

Я попробовал это с помощью следующего простого файла pom.xml (который должен генерировать только er-диаграмму);но плагин не запускается;он даже не может быть загружен:

<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

вызывает сообщение

POM для подключаемых модулей maven: maven-schemaspy-plugin: jar: 1.0 отсутствует, информация о зависимостях недоступна

POM для maven-plugins: maven-schemaspy-plugin: 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, так что на самом делеофициальный?

1 Ответ

1 голос
/ 06 июня 2012

Вам не нужны записи

  <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 изменилось поколение сайтов, см. создание сайтов в 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>

Затем плагин запускается.Остальное зависит от вас: -)

...