Re: NoSuchMethodError at xsbt.boot.Boot.main building play

230 views
Skip to first unread message

James Roper

unread,
Nov 19, 2012, 6:35:27 PM11/19/12
to play-fr...@googlegroups.com
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.

Could you run the following commands:

echo $JAVA_HOME
which java

And see what they output?

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.scala:22)
   at xsbt.boot.ConfigurationParser.toFile(ConfigurationParser.scala:120)
   at xsbt.boot.ConfigurationParser$$anonfun$file$1.apply(ConfigurationParser.scala: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(ConfigurationParser.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(ConfigurationParser.scala:60)
   at xsbt.boot.ConfigurationParser$$anonfun$apply$3.apply(ConfigurationParser.scala: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

James Roper

unread,
Nov 19, 2012, 7:54:00 PM11/19/12
to play-fr...@googlegroups.com
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...

Rei Mai

unread,
Nov 20, 2012, 12:08:52 AM11/20/12
to play-fr...@googlegroups.com
oh, sorry, you are right, no [

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

thank you! sorry for the trouble 

James Roper

unread,
Nov 20, 2012, 12:17:37 AM11/20/12
to play-fr...@googlegroups.com
thank you! sorry for the trouble 

No worries.
Reply all
Reply to author
Forward
0 new messages