Я использую стандартный Java-класс MavenProject вместе с API com.jcabi.aether.Aether API для определения набора зависимостей jar для предоставления POM. Там нет фильтрации ресурсов встречающийся через API по умолчанию, и я еще предстоит узнать, как позвонить Aether.resolve() для зависимостей, таких какMaven: включение фильтрации ресурсов через java api
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${my-junit.version}</version>
<scope>test</scope>
</dependency>
без получения ошибок DependencyResolutionException с «причина: не удалось загрузить» JUnit : junit: jar: $ {my-junit.version} ', потому что у него есть буквальная строка $ {..}'. Вот фрагмент кода:
MavenProject proj = ..
Dependency dep = proj.getDependencies()...
Aether aether = new Aether(proj, ..)
aether.resolve(new DefaultArtifact(... dep.getVersion() ..)
Как можно с помощью этих API, чтобы включить фильтрацию ресурсов таким образом, чтобы пользователь/встроенное замещение собственности происходит по умолчанию? Или это ручной процесс? Просьба представить образцы кода, если это возможно, приветствия!
Обратите внимание, что это не фильтрация ресурсов, это свойство интерполяции. Я бы сгенерировал полный pom, используя 'mvn help: effective-pom', а затем прочитал ваш код. – noahlz