2014-10-16 81 views
1

Iam使用jenkins构建我的项目。我写了下面的线在我的build.xml未封闭字符类

<replaceregexp file="../BuildConfig/src/com/edutor/build/${TYPE}.java" match="public static  
final String NAVIGATION_MENU_ITEMS[] = (.*)" replace="public static final String 
NAVIGATION_MENU_ITEMS[] = ${MENU_LIST_ITEMS};" /> 

在java的文件中的变量语法如下...

public static final String NAVIGATION_MENU_ITEMS[] =  
{"Messages","Tasks","Discussions","Stats","Notes","Apps","Profile","Settings"}; 

我想我需要的语句,但是当更换整个语句IAM的运行得到错误如下..

/var/lib/jenkins/workspace/K2_Learning_Build/IgnitorACE/build.xml:254: 
java.util.regex.PatternSyntaxException: Unclosed character class near index 56 

public static final String NAVIGATION_MENU_ITEMS[] = (.*) 

任何建议请

+3

完整的猜测;在此处转义:'NAVIGATION_MENU_ITEMS \ [\]' – 2014-10-16 12:50:58

+0

@AlexK。是对的。它认为'[]'是一个字符类,但是一个没有内容的无效字符类。 – Sam 2014-10-16 16:01:32

回答

0

亚历克斯说,你需要ES斗篷括号:

逃生这里:NAVIGATION_MENU_ITEMS []