对于WebSphere Liberty Profile,bootstrap.properties文件中的反斜杠字符

时间:2015-01-16 19:25:28

标签: websphere-liberty

我遇到了bootstrap.properties文件中'\'(反斜杠)字符的问题。

我首先在bootstrap.properties文件中定义一个变量:

var1=AB\AC

然后,我在server.xml文件中定义了一个jndiEntry:

<jndiEntry value="${var1}" jndiName="jndi/var1" id="var1">

当我在代码中查找jndi条目时,'\'丢失了。如果我使用双反斜杠,即'\\',那么我得到的是正斜杠,即'AB / AC'。

如何输入'\'字符?

2 个答案:

答案 0 :(得分:2)

Liberty将对所有变量执行路径规范化,除非将该属性定义为密码类型。目前解决这个问题的唯一方法是在server.xml中包含反斜杠字符,而不是bootstrap.properties。

例如,在server.xml中:

<jndiEntry value="${var1}\${var2}" jndiName="jndi/var1" id="var1">

bootstrap.properties:

var1=AB
var2=BC

答案 1 :(得分:1)

根据Liberty文档,对bootstrap.properties文件中的所有变量执行路径规范化

  

用单个替换重复的向前和向后斜杠   正斜杠,除非该值以双向前或向后开始   斜线,保持不变。

然而,根据他们的&#34;最佳实践&#34; section

  

如果需要设置变量的值以包含重复前进   斜杠,有时用于JDBC驱动程序连接URL,中断   将值分为两个部分的双斜线。通过放置双   正斜杠作为初始字符,避免了规范化。   例如,要存储值&#34; jdbc:db2://host_name.com&#34;,请使用两个   变量:

     

URL_PART_1 =&#34; JDBC:DB2:&#34;   URL_PART_2 =&#34; // host_name.com&#34;