Плагин WebLogic Maven имеет слишком много зависимостей?

Я использую плагин weblogic maven для развертывания моего приложения на сервере.

Я не уверен, что сделал ошибку при настройке. Первая сборка дня maven занимает много времени (~30 минут), потому что плагин, похоже, имеет огромное количество зависимостей от всего стека weblogic и обновляет maven-metadata.xml файлы.

Моя конфигурация выглядит так:

<plugin>
  <groupId>com.oracle.weblogic</groupId>
  <artifactId>weblogic-maven-plugin</artifactId>
  <version>12.1.3-0-0</version>
  <configuration>
    <adminurl>t3://localhost:7001</adminurl>
    <user>admin</user>
    <password>pass</password>
    <upload>true</upload>
    <action>deploy</action>
    <remote>false</remote>
    <verbose>true</verbose>
 <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
    <name>${project.build.finalName}</name>
    <targets>myserver</targets>
  </configuration>
</plugin>

Возможно, наше Nexus-репо слишком медленное.;-)

заранее спасибо

1 ответ

Я нашел проблему и, надеюсь, некоторые хорошие решения:

Примечание: я использую не Nexus-Repo, а Artifactory (но я думаю, что Maven ведет себя одинаково на обоих).

Проблема возникает из-за неправильной конфигурации нашего хранилища. Maven всегда будет проверять наличие обновлений (по умолчанию), если ваши библиотеки находятся в хранилище снимков (определено в файле settings.xml).

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

Есть несколько способов избежать этого:

  1. Если вы не можете изменить свои настройки:

Используйте параметр "no-snapshot-updates" при выполнении цели maven:

mvn goal --no-snapshot-updates
  1. Изменить настройки.xml

Добавьте следующее в репозитории, в которых расположены ваши библиотеки Oracle:

<repository>
    <id>my-oracle-repo</id>
    <url>http://someurl</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
</repository>
  1. Отодвиньте свои библиотеки Oracle от хранилища снимков.

РЕДАКТИРОВАТЬ: Кажется, что это связано не только со снимками, но и с "updatePolicy", который по умолчанию установлен на "ежедневно". Измените ваш maven settings.xml следующим образом:

<repository>
    <id>my-oracle-repo</id>
    <url>http://someurl</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <releases>
        <updatePolicy>never</updatePolicy>
    </releases>
</repository>
Другие вопросы по тегам