Maven: как копировать / перезаписывать только файлы, отличающиеся от исходного, а не весь каталог? - PullRequest
0 голосов
/ 15 октября 2018

В проекте Spring-Boot / Angular 5 мне нужно заменить файл базовой библиотеки углового маршрутизатора (router.js) из-за ошибки в обработке маршрутизации всплывающих окон, которую мы исправили в js, которые мы хотим заменить внутрикаталог node_modules.

В корне моего проекта я создал каталог, содержащий этот патч:

├── patch
│   └── node_modules
│       └── @angular
│           └── router
│               └── esm5
│                   └── router.js

, и мне нужно заменить его в фактическом каталоге node_modules :

node_modules/
└── @angular
    └── router
        └── esm5
            └── router.js

Это часть pom, которую я использую:

<build>
   <plugins>
      <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-resources-plugin</artifactId>
         <version>${maven-resources-plugin.version}</version>
         <executions>
            <execution>
               <id>patch-angular-node-modules</id>
               <phase>package</phase>
               <goals>
                  <goal>copy-resources</goal>
               </goals>
               <configuration>
                  <overwrite>true</overwrite>
                  <outputDirectory>node_modules/</outputDirectory>
                  <resources>
                     <resource>
                        <directory>patch/node_modules/</directory>
                        <includes>
                           <include>**/*.js</include>
                        </includes>
                     </resource>
                  </resources>
               </configuration>
            </execution>
         </executions>
      </plugin>
   </plugins>
</build>

В основном она работает, за исключением того факта, что она заменяет все node_modules *Каталог 1015 * с каталогом patch / node_modules вместо простой замены файлов в patch / node_modules, без удаления файлов / каталогов, отсутствующих в patch .

Howможно ли этого добиться?

...