Фильтрация ресурсов Maven с помощью Arquillian/ShrinkWrap

Как создать развертывание Arquillian ShrinkWrap, которое будет выполнять фильтрацию ресурсов Maven? Какую версию ShrinkWrap следует использовать?


person Grzegorz Żur    schedule 07.05.2013    source источник


Ответы (3)


Согласно информации от разработчиков ShrinkWrap https://community.jboss.org/message/781880#781880 это еще не реализовано.

Билет для этой функции https://issues.jboss.org/browse/SHRINKRES-100

person Grzegorz Żur    schedule 09.05.2013

После попытки "исправить" оказывается, что ответ довольно прост...

    webArchive.addAsResource("test.properties");

... будет использовать ресурс пути к классам, который maven уже отфильтровал.

person ymajoros    schedule 07.05.2015
comment
... и просто добавьте элемент ‹testResource› в ваш pom.xml с параметром ‹filtering›true‹/filtering›, если вы еще этого не сделали. - person ymajoros; 07.05.2015

РЕДАКТИРОВАТЬ: см. мой другой ответ, это действительно реализовано и просто в использовании ;-)

Гжегож прав, это не реализовано в Arquillian.

В качестве обходного пути я получил это в @Deployment:

Properties testProperties = new Properties();
ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
InputStream testPropertiesInputStream = contextClassLoader.getResourceAsStream("test.properties");
testProperties.load(testPropertiesInputStream);

File testPropertiesTargetFile = File.createTempFile("arquillian_test_", ".properties");
try (Writer testPropertiesWriter = Files.newBufferedWriter(testPropertiesTargetFile.toPath())) {
    testProperties.store(testPropertiesWriter, null);
}
webArchive.addAsResource(testPropertiesTargetFile, "test.properties");

А это в @Setup:

private Properties testProperties;

@Before
public void setUp() throws IOException {
    testProperties = new Properties();
    InputStream testPropertiesInputStream = this.getClass().getResourceAsStream("/test.properties");
    testProperties.load(testPropertiesInputStream);
}

person ymajoros    schedule 07.05.2015