EDIT: Verschiedene Optionen SBTSBT gibt "Class-Datei hat falsche Version 51.0, sollte 49.0 sein" beim Kompilieren eines gemischten Projekts?
show scalacOptions
List(-deprecation, -unchecked, -encoding, UTF-8, -Yinline-warnings, -feature)
show javaOptions
List()
about
[info] This is sbt 0.13.1
[info] The current project is {file:/Users/ThomasNorth/Documents/CODE/SERVER/MonetiseAlpha/monetise-webserver/}monetise-webserver 1.0.0-SNAPSHOT
[info] The current project is built against Scala 2.10.3
[info]
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.3
ich die folgende Störung erhalte beim Versuch, ein scala Projekt mit einigen Java-Quellen zu kompilieren, wird der Fehler wie folgt
[error] /Users/ThomasNorth/Documents/CODE/SERVER/MonetiseAlpha/monetise-webserver/src/main/java/com/boxbe/pub/email/EmailAddress.java:31: cannot access java.util.regex.Pattern
[error] bad class file: /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home/jre/lib/rt.jar(java/util/regex/Pattern.class)
[error] class file has wrong version 51.0, should be 49.0
[error] Please remove or make sure it appears in the correct subdirectory of the classpath.
[error] import java.util.regex.Pattern;
[error] ^
[error] 1 error
[error] (compile:compile) javac returned nonzero exit code
[error] Total time: 13 s, completed 28/02/2014 3:36:38 PM
Die Sache ist, javac sowohl und Java werden aktualisiert, um ihre neuesten Versionen
javac -Ausführung
javac 1.7.0_51
javac: no source files
Usage: javac <options> <source files>
where possible options include:
java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
build.sbt
organization := "com.monetise"
name := "webserver"
version := "1.0.0-SNAPSHOT"
scalaVersion := "2.10.3"
resolvers ++= Seq(
Resolver.sonatypeRepo("release"),
Resolver.sonatypeRepo("snapshots"),
"Untyped" at "http://ivy.untyped.com/com.untyped/"
)
scalacOptions ++= Seq(
"-deprecation",
"-unchecked",
"-encoding", "UTF-8",
"-Yinline-warnings",
"-feature"
// "-Xcheckinit" // for debugging only, see https://github.com/paulp/scala-faq/wiki/Initialization-Order
// "-optimise" // this option will slow your build
)
Und ich habe nur eine installierte Einzel sdk, die Ideen haben bei /Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
Jeder befindet sich, warum dies geschieht?
Ich habe sogar
javaHome := Some(file("/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home"))
zu zwingen, die Java zu Hause setzen diese in meinem globals.sbt versucht. SBT ist v 0.13.1
-System ist Mac OS X 10.9.2 (Mavericks)
"Klassendatei hat falsche Version 51.0, sollte 49.0 sein" bedeutet, dass Sie 'javac' aus JDK 5 verwenden, während Sie die Klassenbibliotheken von JDK 7 verwenden. Stellen Sie sicher, dass' JAVA_HOME' auf Ihr JDK7-Installationsverzeichnis zeigt. – Jesper
Versucht: "export JAVA_HOME ='/usr/libexec/java_home -v 1.7' "im Terminal, um JAVA_HOME anzugeben, aber immer noch den gleichen Fehler. – user2943976
Wie sehen Ihre Buildkonfigurationsdateien aus - 'build.sbt' oder' project/* .scala' Dateien? Benutzt du irgendwelche? Könnten Sie "show scalacOptions" und "show javaOptions" und "about" in der SBT-Konsole ausführen und die Ausgaben der Frage hinzufügen? –