【问题标题】:Slash in property name in pom.xmlpom.xml 中属性名称的斜线
【发布时间】:2013-04-26 10:08:02
【问题描述】:

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

我想用 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} 作为属性?

【问题讨论】:

    标签: maven pom.xml tycho cdo-emf


    【解决方案1】:

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

    以下将无法解析 pom.xml:

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

    或 什么都值

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

    【讨论】:

    • 感谢您的回答!我知道,斜线在这个标签中不起作用,但是还有其他可能解决这个问题吗?
    • 如果你真的需要斜线,我没有看到。
    • 我需要它,因为我需要这个:vmArgs 中的 -Dnet4j.config="${resource_loc:/cdo.server/config}" 在 eclipse 中启动我的产品并在它启动时启动它是用 Maven 构建的,在 Eclipse 之外。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-10-18
      • 1970-01-01
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2011-07-31
      • 2018-04-13
      相关资源
      最近更新 更多