Исключая “обеспеченные” зависимости от блока Знатока

Связанный список может быть сохранен с помощью рекурсивных указателей в таблице. Это - почти такие же иерархии, хранятся в Sql, и это использует рекурсивный шаблон ассоциации.

можно узнать больше о нем здесь .

я надеюсь, что это помогает.

23
задан Chris Vest 22 September 2009 в 09:21
поделиться

1 ответ

Это немного неуклюже, но вы можете использовать maven-dependency-plugin для копирования / распаковки всех зависимостей в свой проект, а затем использовать сборочный плагин для упаковки.

У целей copy-dependencies и unpack-dependencies есть необязательное свойство excludeScope , которое вы можете установить, чтобы опустить предоставленные зависимости. Приведенная ниже конфигурация копирует все зависимости в target / lib, ваш дескриптор плагина сборки может быть изменен для использования fileSet для включения этих jar-файлов.

Обновление: Просто протестировал это, чтобы убедиться, что он работает. Добавлена ​​конфигурация для привязки подключаемого модуля сборки к фазе пакета и соответствующие модификации дескриптора сборки.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <id>copy-dependencies</id>
      <phase>process-resources</phase>
      <goals>
        <goal>copy-dependencies</goal>
      </goals>
      <configuration>
        <excludeScope>provided</excludeScope>
        <outputDirectory>${project.build.directory}/lib</outputDirectory>
      </configuration>
    </execution>
  </executions>
</plugin>
<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <version>2.2-beta-4</version>
  <executions>
    <execution>
      <id>jar-with-deps</id>
      <phase>package</phase>
      <goals>
        <goal>single</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <descriptors>
      <descriptor>src/main/assembly/my-assembly.xml</descriptor>
    </descriptors>
  </configuration>
</plugin>

Раздел fileSet дескриптора my-assembly будет выглядеть следующим образом:

<assembly>
  <fileSets>
    <fileSet>
      <directory>${project.build.directory}/lib</directory>
      <outputDirectory>/</outputDirectory>
      <includes>
        <include>*.*</include>
      </includes>
    </fileSet>
  </fileSets>
...

</assembly>
19
ответ дан 29 November 2019 в 02:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: