Косая черта в имени свойства в pom.xml

У меня есть проблема, которую я не могу решить.

Я хочу собрать свой eclipse cdo-сервер с Tycho/Maven, а также хочу иметь возможность запустить cdo-server.product из eclipse.

Сервер cdo, который он настроил так: http://wiki.eclipse.org/Setting_up_a_CDO_Server

Нет, это моя проблема: если я выберу:

-Dnet4j.config="${resource_loc:/cdo.server/config}"

Я могу запустить его из затмения, но если я хочу запустить встроенный CDO-Server.app, он не может найти эту папку.

Если я выберу:

-Dnet4j.config="../../../../../../../../../../cdo.server/config"

Я могу запустить встроенный CDO-Server.app, но не могу запустить его из затмения.

Это все логично, но теперь я решил сделать ${resource_loc:/cdo.server/config} в качестве свойства в моем файле pom.xml. Но если я напишу это так:

<properties>
<resource_loc:/cdo.server/config>../../../../../../../../../../cdo.server/config</resource_loc:/cdo.server/config>
</properties>

Я получаю исключение, что это не разбирается POM из-за косой черты в теге.

Если я хочу сделать это так:

<properties>
    <resource_loc:>
        <cdo.server>
           <config>../../../../../../../../../../cdo.server/config</config>
    </cdo.server>
    </resource_loc:>
</properties>

Это также не разбираемый POM. Есть ли возможность использовать ${resource_loc:/cdo.server/config} в качестве свойства?

2 ответа

Проблема в определении вашего свойства - это косые черты в имени свойства.

Следующее не удастся проанализировать pom.xml:

<resource_loc:/cdo.server/config>yx</resource_loc:/cdo.server/config>

или WhatEverValue

Это также не будет работать, если вы попытаетесь использовать / в качестве замены косой черты в имени сущности.

Вы можете попробовать http://mojo.codehaus.org/properties-maven-plugin/read-project-properties-mojo.html вместо того, чтобы читать свойства из отдельного файла, чтобы обойти ограничение правильной формы XML в pom.xml.

Другие вопросы по тегам