This is what i get trying to do anything with play:
$ play help java.lang.NoSuchMethodError: method java.util.regex.Matcher.quoteReplacement with signature (Ljava.lang.String;)Ljava.lang.String; was not found. at xsbt.boot.ConfigurationParser$.substituteVariables(ConfigurationParser.scal a:22) at xsbt.boot.ConfigurationParser.toFile(ConfigurationParser.scala:120) at xsbt.boot.ConfigurationParser$$anonfun$file$1.apply(ConfigurationParser.sca la:122) at scala.Option.map(Option.scala:133) at xsbt.boot.ConfigurationParser.file(ConfigurationParser.scala:122) at xsbt.boot.ConfigurationParser$$anonfun$5.apply(ConfigurationParser.scala:68 ) at xsbt.boot.ConfigurationParser$$anonfun$processSection$1.apply(Configuration Parser.scala:101) at xsbt.boot.ConfigurationParser.process(ConfigurationParser.scala:102) at xsbt.boot.ConfigurationParser.processSection(ConfigurationParser.scala:101) at xsbt.boot.ConfigurationParser.xsbt$boot$ConfigurationParser$$apply(Configur ationParser.scala:60) at xsbt.boot.ConfigurationParser$$anonfun$apply$3.apply(ConfigurationParser.sc ala:52) at xsbt.boot.Using$.withResource(Using.scala:11) at xsbt.boot.Using$.apply(Using.scala:10) at xsbt.boot.Configuration$$anonfun$parse$1.apply(Configuration.scala:15) at xsbt.boot.Using$.withResource(Using.scala:11) at xsbt.boot.Using$.apply(Using.scala:10) at xsbt.boot.Configuration$.parse$fcb646c(Configuration.scala:15) at xsbt.boot.Launch$.apply(Launch.scala:14) at xsbt.boot.Boot$.runImpl(Boot.scala:25) at xsbt.boot.Boot$.main(Boot.scala:15) at xsbt.boot.Boot.main(Boot.scala) Error during sbt execution: java.lang.NoSuchMethodError: method java.util.regex.Matcher.quoteReplacement with signature (Ljava.lang.String;)Ljava.lang.String; was not found.
I have binary play 2.0.4 (last October 01 2012 version) installed on ubuntu 12.10 with 1.6.37 jdk play path is my home path, which has no space characters the same version of play works perfectly on my other machine
Could you double check that that is indeed the version of Java that you're using? quoteReplacement was added in Java 1.5. It may be the case that the version of Java on your path is the GNU JVM, or a very old 1.4 version.
On Tuesday, 20 November 2012 09:51:32 UTC+11, Rei Mai wrote:
> This is what i get trying to do anything with play:
> $ play help > java.lang.NoSuchMethodError: method > java.util.regex.Matcher.quoteReplacement with signature > (Ljava.lang.String;)Ljava.lang.String; was not found. > at > xsbt.boot.ConfigurationParser$.substituteVariables(ConfigurationParser.scal a:22) > at xsbt.boot.ConfigurationParser.toFile(ConfigurationParser.scala:120) > at > xsbt.boot.ConfigurationParser$$anonfun$file$1.apply(ConfigurationParser.sca la:122) > at scala.Option.map(Option.scala:133) > at xsbt.boot.ConfigurationParser.file(ConfigurationParser.scala:122) > at > xsbt.boot.ConfigurationParser$$anonfun$5.apply(ConfigurationParser.scala:68 ) > at > xsbt.boot.ConfigurationParser$$anonfun$processSection$1.apply(Configuration Parser.scala:101) > at xsbt.boot.ConfigurationParser.process(ConfigurationParser.scala:102) > at > xsbt.boot.ConfigurationParser.processSection(ConfigurationParser.scala:101) > at > xsbt.boot.ConfigurationParser.xsbt$boot$ConfigurationParser$$apply(Configur ationParser.scala:60) > at > xsbt.boot.ConfigurationParser$$anonfun$apply$3.apply(ConfigurationParser.sc ala:52) > at xsbt.boot.Using$.withResource(Using.scala:11) > at xsbt.boot.Using$.apply(Using.scala:10) > at > xsbt.boot.Configuration$$anonfun$parse$1.apply(Configuration.scala:15) > at xsbt.boot.Using$.withResource(Using.scala:11) > at xsbt.boot.Using$.apply(Using.scala:10) > at xsbt.boot.Configuration$.parse$fcb646c(Configuration.scala:15) > at xsbt.boot.Launch$.apply(Launch.scala:14) > at xsbt.boot.Boot$.runImpl(Boot.scala:25) > at xsbt.boot.Boot$.main(Boot.scala:15) > at xsbt.boot.Boot.main(Boot.scala) > Error during sbt execution: java.lang.NoSuchMethodError: method > java.util.regex.Matcher.quoteReplacement with signature > (Ljava.lang.String;)Ljava.lang.String; was not found.
> I have binary play 2.0.4 (last October 01 2012 version) installed on > ubuntu 12.10 with 1.6.37 jdk > play path is my home path, which has no space characters > the same version of play works perfectly on my other machine
i checked this method and it really does not match quoteReplacement(String[] string) signature, its quoteReplacement(String string), so i expect some input string broke on many...
quoteReplacement(Ljava.lang.String;)Ljava.lang.String; means quoteReplacement(String): String, the L means object, so the signature it's looking for is correct, it's just odd that your JDKs implementation of Matcher is not able to find this method. What do you get when you run java -version? Is this Oracles JDK or OpenJDK? Could you try apt-get install openjdk-7-jdk, and then run
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386 play help
On Tuesday, 20 November 2012 10:59:50 UTC+11, Rei Mai wrote:
> the output is > /opt/jdk1.6.0_37
> i checked this method and it really does not > match quoteReplacement(String[] string) signature, > its quoteReplacement(String string), so i expect some input string broke on > many...
it works on 7th openjdk, and yes, for oracle jdk java -version returns 1.5! turns out i have /usr/bin/java pointing to version 1.5 and going earlier in PATH