У меня есть проект, в котором не будет основного класса. По сути, это просто хранение POJO. Теперь я создал его как проект maven. Я хочу упаковать его как банку и добавить в другой проект, где эти POJO будут служить моделями, я планирую добавить ее как внешнюю банку зависимостей.
Я рассмотрел вариант упаковки с использованием следующего плагина in pom. xml
<packaging>jar</packaging>
.
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</execution>
</executions>
</plugin>
.
.
Поскольку у меня нет основного класса, я оставил тег пустым. Я попытался просто собрать проект и не увидел, что создается какой-либо пакет. Целевая папка была создана с файлами .class, но не с jar. Поэтому я попытался запустить mvn package с терминала. Не удалось выполнить следующие ошибки.
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project bart-etd-interface: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test failed: Plugin org.apache.maven.plugins:maven-surefire-plugin:2.22.1 or one of its dependencies could not be resolved: Failed to collect dependencies for org.apache.maven.plugins:maven-surefire-plugin:jar:2.22.1 (): Failed to read artifact descriptor for org.apache.maven.surefire:maven-surefire-common:jar:2.22.1: Could not transfer artifact org.apache.maven.surefire:maven-surefire-common:pom:2.22.1 from/to central (http://repo.maven.apache.org/maven2): Failed to transfer file: http://repo.maven.apache.org/maven2/org/apache/maven/surefire/maven-surefire-common/2.22.1/maven-surefire-common-2.22.1.pom. Return code is: 501 , ReasonPhrase:HTTPS Required. -> [Help 1]
Предположим, это произошло из-за запуска тестовых примеров, я изменил команду на mvn package -Dmaven.test.skip = true Но все равно не удалось с теми же ошибками. Я не хочу продолжать добавлять плагины, если они не нужны, и хочу свести их к минимуму. Я надеюсь на несколько источников, любые указания, чтобы понять это структурированным способом, будут хороши. Спасибо
Редактировать: я могу видеть банку, созданную после того, как добавляю плагин surefire, но все же хочу знать, зачем он нужен, если я пропускаю тестовые примеры, поскольку источники, за которыми я следую, не упоминают, что это необходимо только для создание банки.