Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java 9 Compatibility #139

Closed
guw opened this issue Sep 24, 2017 · 5 comments
Closed

Java 9 Compatibility #139

guw opened this issue Sep 24, 2017 · 5 comments

Comments

@guw
Copy link
Contributor

guw commented Sep 24, 2017

With Java 9 being GA we need to check whether the Apex Language Service supports running with a Java 9 Development Kit.

GPL Binaries (from Oracle) here:
http://jdk.java.net/9

Just Linux for now.

Oracle Java 9 Downloads:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

@guw
Copy link
Contributor Author

guw commented Sep 24, 2017

@vazexqi @kaplanjosh This is something we should probably have on the todo list.

@guw guw added the feature label Nov 15, 2017
@guw guw mentioned this issue Nov 20, 2017
@guw guw changed the title Test (and potentially add support for) Java 9 Compatibility Java 9 Compatibility Nov 20, 2017
@fcathala
Copy link

Note that Java 9 is not just Linux but all platforms. It looks to me like Oracle is pushing v9: http://www.oracle.com/technetwork/java/javase/downloads/jre9-downloads-3848532.html

@vazexqi
Copy link
Contributor

vazexqi commented Jan 19, 2018

Jan 18, 2018 5:47:49 PM com.google.common.util.concurrent.ServiceManager$ServiceListener failed
SEVERE: Service Apex Prelude Service [FAILED] has failed in the STARTING state.
java.lang.NoClassDefFoundError: javax/xml/ws/Holder
    at apex.jorje.semantic.ast.visitor.ValidationScope.push(ValidationScope.java:75)
    at apex.jorje.semantic.ast.statement.BlockStatement.validate(BlockStatement.java:151)
    at apex.jorje.semantic.ast.statement.MethodBlockStatement.validate(MethodBlockStatement.java:82)
    at apex.jorje.semantic.ast.member.Method.validate(Method.java:168)
    at apex.jorje.semantic.ast.compilation.UserClass.validate(UserClass.java:183)
    at apex.jorje.semantic.compiler.CodeUnit.validate(CodeUnit.java:233)
    at apex.jorje.semantic.compiler.CompilerOperations$ValidateOperation.invoke(CompilerOperations.java:107)
    at apex.jorje.semantic.compiler.CompilerStageProcessor.processFirstStage(CompilerStageProcessor.java:133)
    at apex.jorje.semantic.compiler.CompilerStageProcessor.processToStage(CompilerStageProcessor.java:103)
    at apex.jorje.semantic.compiler.ApexCompiler.compile(ApexCompiler.java:115)
    at apex.jorje.lsp.impl.services.StandardCompilerService.compile(StandardCompilerService.java:122)
    at apex.jorje.lsp.impl.services.ApexPreludeManagedService.scanApexStandardLibraryIfNecessary(ApexPreludeManagedService.java:168)
    at apex.jorje.lsp.impl.services.ApexPreludeManagedService.startUp(ApexPreludeManagedService.java:98)
    at com.google.common.util.concurrent.AbstractIdleService$DelegateService$1.run(AbstractIdleService.java:60)
    at com.google.common.util.concurrent.Callables$3.run(Callables.java:100)
    at java.base/java.lang.Thread.run(Thread.java:844)

This is because of https://stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j

We would either change jorje to not use javax/xml/ws/Holder or we special case for Java 9.

However, because Java 9 doesn't seem to be a long-term release according to http://www.oracle.com/technetwork/java/eol-135779.html, I'm thinking of holding off until 18.9^ (LTS) comes out.

@vazexqi
Copy link
Contributor

vazexqi commented Feb 14, 2018

According to http://www.oracle.com/technetwork/java/eol-135779.html Java 9 SE is not a long-term release. The next long-term release is Java 11 (18.9-LTS) which will be out September 2018. We will support it then.

I'm closing this issue now.

@vazexqi vazexqi closed this as completed Feb 14, 2018
@matteobosc
Copy link

Java 11 (18.9-LTS) is out since almost three months, still no support for this extension. Apex autocomplete and DB definition are key functionality for Salesforce developers. Do you have a milestone for the new stable Java support?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants