Mam bardzo specyficzne wymaganie naszej infrastruktury kompilacji, aby skopiować pewną zawartość innej zależności JAR do określonego podfolderu mojej aplikacji internetowej. Używamy pluginu maven-assembly, a naturalnym sposobem na to jest użycie <dependencySet>
wraz z <unpackOptions>
.Zespół Maven - skopiuj tylko plik z podfolderu podczas wyodrębniania z archiwum
Próbka kodu (w deskryptorze montażowej) Mam wygląda następująco:
<dependencySet>
<unpack>true</unpack>
<scope>runtime</scope>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>my.group:artifact:jar</include>
</includes>
<unpackOptions>
<includes>
<include>subfolder/config.xml</include>
</includes>
</unpackOptions>
<outputDirectory>WEB-INF/otherfolder</outputDirectory>
</dependencySet>
Problemem jest to, że nie mogę dowiedzieć się, jak określić, że chcę tylko, aby skopiować tylko jeden plik do artifact.jar/subfolder/config.xml
cel WEB-INF/otherfolder
. Rzeczywisty wynik to WEB-INF/otherfolder/subfolder/config.xml
. Jak widać, /subfolder
zostaje dołączony do ostatniej ścieżki. Czy istnieje sposób zmiany wyrażenia <include>
, aby /subfolder
nie została dołączona?
Z góry dziękuję!
Czy próbowałeś usunąć inny folder z katalogu outputDirectory? – khmarbaise
@khmarbaise W takim przypadku otrzymam WEB-INF/podfolder/config.xml. Ale spodziewanym rezultatem jest WEB-INF/otherfolder/config.xml –
try **/config.xml i zobacz co się stanie .. – om39a