Maven: не удается скопировать ресурсы в удаленный каталог - PullRequest
0 голосов
/ 27 января 2019

Я использую:

  • openjdk версия "11.0.1" 2018-10-16
  • Apache Maven 3.6.0 для сборки моего проекта.

Ожидается, что 3 файла ресурса будут скопированы с сервера, с которого я компилирую, на сервер, куда скопировать файл ресурса. Ожидаемый путь:

  • Копирование context.xml в /online/sand/pps/apache-tomcat-9.0.8/webapps/pps/META-INF из локальной цели / classes / env / $ {current_env} _context.xml
  • Копирование application.properties в /online/sand/pps/apache-tomcat-9.0.8/webapps/pps/WEB-INF/classes из локальной цели / classes / env / $ {current_env} _application.properties
  • Копирование promo_servers.properties в /online/sand/pps/apache-tomcat-9.0.8/webapps/pps/WEB-INF/classes из локальной цели / classes / env / $ {current_env} _promote_servers.properties

Поэтому я настроил профиль в pom.xml как:

<profile>
    <id>dev</id>
    <activation/>
    <properties>
        <INSTALL_MACHINE_LIST>dc1uoappptl01.patamoc-us.com</INSTALL_MACHINE_LIST>
        <COPY_MODE>sftp</COPY_MODE>
        <FTP_USERNAME>theusr</FTP_USERNAME>
        <FTP_PASSWORD>pswd</FTP_PASSWORD>
        <project_lib>/online/sand/pps/apache-tomcat-9.0.8/webapps</project_lib>
    </properties>
</profile>

, чтобы скопировать ресурсы, я использовал:

<plugin>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.7</version>
    <executions>
        <execution>
            <phase>install</phase>
            <configuration>
                <target>
                    <copy file="${project.build.directory}/classes/env/${current_env}_context.xml"
                          tofile="${project_lib}/pps/META-INF/context.xml"
                          overwrite="true"/>
                    <copy file="${project.build.directory}/classes/env/${current_env}_application.properties"
                          tofile="${project_lib}/pps/WEB-INF/classes/application.properties"
                          overwrite="true"/>
                    <copy file="${project.build.directory}/classes/env/${current_env}_promote_servers.properties"
                          tofile="${project_lib}/pps/WEB-INF/classes/promote_servers.properties"
                          overwrite="true"/>
                </target>

            </configuration>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
</plugin>

мой .war-файл находится в stfp в нужном месте.Однако файлов ресурсов нет.Я проверил права доступа к каталогу прямо в удаленном каталоге, куда должны быть скопированы файлы.В файле журнала установки maven говорится, что ресурсы были скопированы в каталоги, указанные выше, и установка прошла успешно.

Есть идеи о том, что мне не хватает?Должен ли я использовать другой плагин для части копирования ресурсов?

1 Ответ

0 голосов
/ 27 января 2019

Мое первое предположение состоит в том, что фаза жизненного цикла копирования вашего файла слишком поздняя (или только после sftp ваших реальных ресурсов), но чтобы доказать, что вы должны опубликовать также цель для копирования sftp.

Вы можете попытаться просто изменить

<executions>
        <execution>
            <phase>install</phase>

на

<executions>
        <execution>
            <phase>package</phase>

, так что это на ранней стадии ... см. https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html

...