0

我有一个问题,我无法解决。

我想用 Tycho/Maven 构建我的 eclipse cdo 服务器,并且我希望能够从 eclipse 中启动我的 cdo-server.product。

它设置的 cdo 服务器是这样的:http ://wiki.eclipse.org/Setting_up_a_CDO_Server

不,这是我的问题:如果我选择:

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

我可以从 Eclipse 中启动它,但是如果我想启动构建的 CDO-Server.app 它找不到这个文件夹。

如果我选择:

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

我可以启动构建的 CDO-Server.app,但我无法通过 Eclipse 启动它。

这一切都是合乎逻辑的,但现在我决定将 ${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} 作为属性?

4

2 回答 2

1

您的属性定义中的问题是属性名称中的斜杠。

以下将无法解析 pom.xml:

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

或 WhatEverValue

如果您尝试使用 / 代替实体名称中的斜杠,它也将不起作用。

于 2013-04-26T10:42:49.847 回答
0

您可能想尝试http://mojo.codehaus.org/properties-maven-plugin/read-project-properties-mojo.html从单独的文件中读取属性,以绕过 XML 格式良好的限制在 pom.xml 中。

于 2013-04-29T07:19:10.937 回答