Jump to content

Scala and Java 8 in the same project?


Choonster

Recommended Posts

Has anyone managed to get Scala and Java 8 working in the same project? I've got a test mod here that's configured to compile both Scala and Java through the Scala plugin, but the compiler fails when it encounters Java 8 features like static methods in interfaces.

 

This is what

gradlew --stacktrace build

outputs:

****************************

Powered By MCP:           

http://modcoderpack.com/   

Searge, ProfMobius, Fesh0r,

R4wk, ZeuX, IngisKahn, bspkrs

MCP Data version : 9.10

****************************

:deobfCompileDummyTask

:deobfProvidedDummyTask

:compileApiJava UP-TO-DATE

:compileApiScala UP-TO-DATE

:processApiResources UP-TO-DATE

:apiClasses UP-TO-DATE

:sourceMainJava UP-TO-DATE

:compileJava UP-TO-DATE

:sourceMainScala UP-TO-DATE

:compileScalaC:\Users\USER\Documents\Minecraft\ScalaJava8Test\build\sources\main\scala\com\choonster\scalajava8test\TestInterface.java:11: `;' expected but `{' found.

static void callScalaFunction(Function1<String, Unit> function) {

                                                                ^

one error found

FAILED

 

FAILURE: Build failed with an exception.

 

* What went wrong:

Execution failed for task ':compileScala'.

> Compilation failed

 

* Try:

Run with --info or --debug option to get more log output.

 

* Exception is:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':compileScala'.

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)

at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)

at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)

at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)

at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)

at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)

at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)

at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)

at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)

at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:208)

at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:186)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:62)

at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)

at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)

at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:111)

at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)

at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)

at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)

at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:68)

at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)

at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:62)

at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:55)

at org.gradle.initialization.DefaultGradleLauncher$6.run(DefaultGradleLauncher.java:174)

at org.gradle.internal.Factories$1.create(Factories.java:22)

at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)

at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:47)

at org.gradle.initialization.DefaultGradleLauncher.runBuildOperation(DefaultGradleLauncher.java:189)

at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:171)

at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:35)

at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:104)

at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:97)

at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)

at org.gradle.initialization.DefaultGradleLauncher.runRootBuildOperation(DefaultGradleLauncher.java:184)

at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:97)

at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:86)

at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:93)

at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)

at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)

at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)

at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:27)

at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:72)

at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:44)

at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:50)

at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:27)

at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:40)

at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)

at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)

at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)

at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)

at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)

at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)

at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)

at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)

at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)

at org.gradle.launcher.Main.doAction(Main.java:33)

at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)

at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)

at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)

at org.gradle.launcher.GradleMain.main(GradleMain.java:23)

at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)

at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:127)

at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed

at org.gradle.api.internal.tasks.scala.ZincScalaCompiler$Compiler.execute(ZincScalaCompiler.java:71)

at org.gradle.api.internal.tasks.scala.ZincScalaCompiler.execute(ZincScalaCompiler.java:48)

at org.gradle.api.internal.tasks.scala.ZincScalaCompiler.execute(ZincScalaCompiler.java:37)

at org.gradle.api.internal.tasks.compile.daemon.CompilerDaemonServer.execute(CompilerDaemonServer.java:53)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)

at org.gradle.messaging.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)

at org.gradle.messaging.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:360)

at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)

at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)

Caused by: Compilation failed

at sbt.compiler.AnalyzingCompiler.call(AnalyzingCompiler.scala:105)

at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:48)

at sbt.compiler.AnalyzingCompiler.compile(AnalyzingCompiler.scala:41)

at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply$mcV$sp(AggressiveCompile.scala:99)

at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)

at sbt.compiler.AggressiveCompile$$anonfun$3$$anonfun$compileScala$1$1.apply(AggressiveCompile.scala:99)

at sbt.compiler.AggressiveCompile.sbt$compiler$AggressiveCompile$$timed(AggressiveCompile.scala:166)

at sbt.compiler.AggressiveCompile$$anonfun$3.compileScala$1(AggressiveCompile.scala:98)

at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:143)

at sbt.compiler.AggressiveCompile$$anonfun$3.apply(AggressiveCompile.scala:87)

at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:39)

at sbt.inc.IncrementalCompile$$anonfun$doCompile$1.apply(Compile.scala:37)

at sbt.inc.IncrementalCommon.cycle(Incremental.scala:99)

at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:38)

at sbt.inc.Incremental$$anonfun$1.apply(Incremental.scala:37)

at sbt.inc.Incremental$.manageClassfiles(Incremental.scala:65)

at sbt.inc.Incremental$.compile(Incremental.scala:37)

at sbt.inc.IncrementalCompile$.apply(Compile.scala:27)

at sbt.compiler.AggressiveCompile.compile2(AggressiveCompile.scala:157)

at sbt.compiler.AggressiveCompile.compile1(AggressiveCompile.scala:71)

at com.typesafe.zinc.Compiler.compile(Compiler.scala:193)

at com.typesafe.zinc.Compiler.compile(Compiler.scala:174)

at com.typesafe.zinc.Compiler.compile(Compiler.scala:165)

at org.gradle.api.internal.tasks.scala.ZincScalaCompiler$Compiler.execute(ZincScalaCompiler.java:69)

... 8 more

 

 

BUILD FAILED

 

Total time: 8.315 secs

 

 

 

Attempting to run the client in IDEA outputs the following errors:

Error: scalac: 'jvm-1.8' is not a valid choice for '-target'

Error: scalac: bad option: '-target:jvm-1.8'

 

I'd like to get this working in mixed compilation mode (the default) so Java and Scala code can reference each other in either direction.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.