Разрабатывание ВОЕННОГО проекта с разархивированной зависимостью от JAR?

Если у Вас есть большая база данных со строковыми полями, можно очень быстро найти много дубликатов при помощи алгоритм simhash .

11
задан SilentGhost 2 September 2009 в 14:41
поделиться

3 ответа

Моджо распаковать кажется близким к тому, к чему вы стремитесь. Не знаю, как завершить весь поток, который вы предлагаете.

(кстати, я сомневаюсь, что это хорошая идея. Служебные классы должны помещаться в jar-файлы, а jar-файлы помещаются либо в WAR, либо в EAR. Распаковка служебные банки кажутся неправильными)

1
ответ дан 3 December 2019 в 09:42
поделиться

Как сказано в ответе blaufish, вы можете использовать maven-dependency-plugin unpack mojo для распаковки артефакта. Однако, чтобы избежать появления jar-файла в WEB-INF / lib, вам нужно не указывать его как зависимость , а вместо этого настроить плагин для распаковки определенных артефактов .

Следующие конфигурация распакует содержимое some.group.id:my-lib:1.0:jar в target / classes на этапе ресурсов процесса, даже если артефакт не определен как зависимость. При этом будьте осторожны, поскольку существует вероятность затирания вашего фактического содержимого, это может вызвать серьезную отладку.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
    <execution>
      <id>unpack-my-lib</id>
      <phase>process-resources</phase>
      <goals>
        <goal>unpack</goal>
      </goals>
      <configuration>
        <artifactItems>
          <artifactItem>
            <groupId>some.group.id</groupId>
            <artifactId>my-lib</artifactId>
            <version>1.0</version>
            <type>jar</type>
            <overWrite>false</overWrite>
          </artifactItem>
        </artifactItems>
        <outputDirectory>${project.build.outputDirectory}</outputDirectory>
        <overWriteReleases>false</overWriteReleases>
      </configuration>
    </execution>
  </executions>
</plugin>
6
ответ дан 3 December 2019 в 09:42
поделиться

[Ой, только что понял, что вы используете Maven. Я не удаляю этот ответ, потому что он может помочь кому-нибудь из пользователей Ant. Так что мне не нужно модифицировать меня ...]

Сколько раз мне нужно упоминать, что задачи Jar , War и Ear Ant являются подзадачи из Zip один? :-) Если я правильно помню, кое-что вроде этого поможет:

<war dist="my-webapp.war">
    <zipgroupfileset dir="libs" includes="*.jar" prefix="WEB-INF/classes"/>
</war>

Также стоит попробовать src = "mylib.jar" , но я не тестировал этот вариант.

1
ответ дан 3 December 2019 в 09:42
поделиться
Другие вопросы по тегам:

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