diff --git a/src/main/java/jp/sf/fess/util/ResourceUtil.java b/src/main/java/jp/sf/fess/util/ResourceUtil.java index 9473c8e45..86eade56e 100644 --- a/src/main/java/jp/sf/fess/util/ResourceUtil.java +++ b/src/main/java/jp/sf/fess/util/ResourceUtil.java @@ -103,7 +103,7 @@ public class ResourceUtil { replacement = matcher.group(1); } matcher.appendReplacement(tunedText, - replacement.replace("$", "\\$")); + replacement.replace("\\", "\\\\").replace("$", "\\$")); } matcher.appendTail(tunedText); diff --git a/src/test/java/jp/sf/fess/util/ResourceUtilTest.java b/src/test/java/jp/sf/fess/util/ResourceUtilTest.java index e9848bb7c..e7887bc6c 100644 --- a/src/test/java/jp/sf/fess/util/ResourceUtilTest.java +++ b/src/test/java/jp/sf/fess/util/ResourceUtilTest.java @@ -74,6 +74,11 @@ public class ResourceUtilTest extends S2TestCase { value = "${\\$}"; assertEquals(value, ResourceUtil.resolve(value)); + System.setProperty("test.dir", "c:\\test1\\test2"); + + value = "${test.dir}"; + assertEquals("c:\\test1\\test2", ResourceUtil.resolve(value)); + } }