В проекте 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можно ли этого добиться?