Создать банку для проекта maven - PullRequest
0 голосов
/ 06 августа 2020

У меня есть проект, в котором не будет основного класса. По сути, это просто хранение 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, но все же хочу знать, зачем он нужен, если я пропускаю тестовые примеры, поскольку источники, за которыми я следую, не упоминают, что это необходимо только для создание банки.

...