У нас возникла та же проблема с AWS с использованием экземпляра RHEL-7.4_HVM_GA-20170808-x86_64-2-Hourly2-GP2 (ami-bb9a6bc2)
, неожиданно возникла ошибка
: пакет : 1: java-1.8.0-openjdk-headless-1.8.0.201.b09-0.el7_6.x86_64 (rhui-REGION-rhel-server-release) Требуется: pcsc-lite-devel (x86-64) Вы можете попробовать использование --skip-broken для обхода проблемы Вы можете попробовать запустить: rpm -Va --nofiles --nodigest
Поскольку релиз не имеет контракта на поддержку с Redhat, мы несколько застряли [114 ]
У кого-нибудь есть подсказки, чтобы помочь нам? на данный момент мы обращаемся к внутренней скорости вращения, используя местоположение s3, т.е.
yum install -y https: // s3-xxxxxxx
Я думаю, что причина того, что ваше желаемое поведение не было реализовано, заключается в следующем:
Предположим, я работаю над обоими проектами A и B. В настоящее время A не работает. Если бы разрешение зависимостей произошло так, как вы хотели бы, я бы никогда не смог построить B, пока A не будет исправлен. Поэтому мне нужно либо откатить свои изменения до A, либо сначала сосредоточиться на исправлении A. В любом случае, возможно, это не то, на чем я хочу сосредоточиться прямо сейчас.
Обычно B хочет работать с «последней хорошей» версией A, а не с последней. Использование зависимостей из репозитория означает, что они по крайней мере скомпилированы нормально (и, надеюсь, модульные тесты тоже были запущены).
С основным POM:
~ / scratch / pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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>scratch</groupId>
<artifactId>scratch</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>nipple</module>
<module>cabbage</module>
</modules>
</project>
И POM модуля:
~ / scratch / nipple / pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>scratch</artifactId>
<groupId>scratch</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>scratch</groupId>
<artifactId>nipple</artifactId>
<version>1.0-SNAPSHOT</version>
</project>
~ / scratch / cabbage / pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<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">
<parent>
<artifactId>scratch</artifactId>
<groupId>scratch</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>scratch</groupId>
<artifactId>cabbage</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>scratch</groupId>
<artifactId>nipple</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
Я могу выпустить пакет mvn
в корневом каталоге после очистки моего локального репозитория и в конечном итоге собрать все модули. (В пустые файлы JAR, но встроенные.)
Кажется, что Maven ищет зависимости либо в хранилище, либо в процессе сборки. Он не будет автоматически проходить через структуру вашего проекта, когда вы создаете только один модуль, потому что не обязательно, чтобы у вас был даже родительский проект на вашем компьютере, тем более на один каталог выше текущего модуля. (Отношения между родителями и детьми даже не биективны. )
Причина, по которой это так, может заключаться в том, что структура каталогов, в которой расположение модулей было бы предсказуемым, никоим образом не является обязательной. Даже несколько распространено и приемлемо, что макет для приведенного выше примера выглядит следующим образом:
projects
|
+--scratch
| |
| +--scratch-parent
| | |
| | +--pom.xml [The POM of scratch:scratch:1.0-SNAPSHOT]
| |
| +--nipple
| | |
| | +--pom.xml [The POM of scratch:mod1:1.0-SNAPSHOT]
| |
| +--cabbage
| | |
| | +--pom.xml [The POM of scratch:mod2:1.0-SNAPSHOT]
В этом случае раздел
родительского POM будет:
<modules>
<module>../nipple</module>
<module>../cabbage</module>
</modules>
Обратите внимание, что ничего нет говоря , какой идентификатор артефакта находится в каком модуле. Он просто сообщает Maven, что это местоположения файловой системы, где можно искать другие артефакты, связанные с этой сборкой.
Взгляните на плагин Maven Reaction , в частности, response: make, который создает модуль и все модули от чего это зависит.