Плагин 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 рассматривал их как моментальные снимки.
Есть несколько способов избежать этого:
- Если вы не можете изменить свои настройки:
Используйте параметр "no-snapshot-updates" при выполнении цели maven:
mvn goal --no-snapshot-updates
- Изменить настройки.xml
Добавьте следующее в репозитории, в которых расположены ваши библиотеки Oracle:
<repository>
<id>my-oracle-repo</id>
<url>http://someurl</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
- Отодвиньте свои библиотеки 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>