Maven не собирает ресурсы на jenkins (linux) - PullRequest
0 голосов
/ 11 мая 2018

У меня действительно странная проблема - я создал многомодульный Java-проект, который создает "fat-jar". К сожалению, jar-модуль "frontend" не имеет ресурсов при запуске на jenkins (linux) - он почему-то работает на Windows:

Это помпа "frontend":

<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>

    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.1.RELEASE</version>
    <relativePath/>
  </parent>

  <groupId>com.frontend</groupId>
  <artifactId>frontend-app</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>jar</packaging>

  <build>
    <resources>
      <resource>
        <directory>dist</directory>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <groupId>com.github.eirslett</groupId>
        <artifactId>frontend-maven-plugin</artifactId>
        <version>1.6</version>
        <executions>
          <execution>
            <id>install node and npm</id>
            <goals>
              <goal>install-node-and-npm</goal>
            </goals>
            <phase>generate-resources</phase>
          </execution>
          <execution>
            <id>npm install</id>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>install</arguments>
            </configuration>
          </execution>
          <execution>
            <id>node build app</id>
            <phase>prepare-package</phase>
            <goals>
              <goal>npm</goal>
            </goals>
            <configuration>
              <arguments>run-script build</arguments>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Я пробовал с:

    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>

Но это тоже не помогло.

Целью сборки npm по умолчанию является

ng build --output-path dist/META-INF/resources

JAR-файл в target не содержит файлы из "dist" -> он также не работает при создании его в расположении по умолчанию src/main/resources

Вывод журнала maven включает следующее:

[WARNING] JAR will be empty - no content was marked for inclusion!

Каталог dist создается и заполняется во время сборки. Maven находит файлы в Windows, но не в Jenkins.

EDIT:

Цели maven одинаковы.

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете проверить несколько вещей на Дженкинс.Во-первых, если цель mvn точно такая же.Во-вторых, все ли ресурсы проверены правильно или нет.Также посмотрите, есть ли разрешение на запись в файл для пользователя linux, используемого процессом Jenkins.Наконец, добавьте -X к своим целям в Jenkins, чтобы детально просмотреть журналы maven и устранить неполадку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...