On IBM i, will java compiler "speak" ILE? Googling have found various code samples showing how RPG can call java methods, but can't find any reference to java being an ILE language. Are there any plans for this or is there a reason why java cannot be an ILE language on IBM i?
Making Java a full ILE language, in the same sense that RPG and ILE C are, would be a major undertaking, if it's feasible at all. ILE languages have the property that their compiled modules can be freely mixed and matched when linking into an ILE program. In other words, once you compile a module, you conceptually have an ILE module, and it's not very important which language was used in the source code for that module. All you have to do is make sure all the function or procedure prototypes in the calling code are compatible with the corresponding prototypes in the called code.
There was a project that attempted to do exactly this with Java in the Unix/Linux world, called the GNU Compiler for Java (GCJ). The idea was to compile Java modules into a binary form that was directly linkable by (for example) C++ code using GCC. It's unclear whether this ever reached "production quality", and as of this writing, GCJ is no longer part of GCC. So you could look at GCJ as both a proof of concept for a hypothetical ILE Java, and a cautionary tale against ILE Java.
In either case, the effort required to make ILE Java happen is probably not justified by the relatively minor benefit. While you currently can't link Java code directly with ILE code, you can still call Java from RPG and call RPG from Java, which is good enough for most use cases.
What would be easier than a full-blown ILE Java is a native IBM i implementation of the JVM, built using ILE languages (the most obvious choices being ILE C or ILE C++), such that PASE is not used at all. But going this route would still require using the existing ways of calling Java from RPG and vice versa, so the benefit would be practically zero. And the effort of porting the JVM to ILE C++ is definitely greater than zero. Also keep in mind that IBM will probably want to update their JVM to more-or-less keep pace with Oracle's JVM, and this will be easier to do with a JVM implemented in PASE rather than a JVM implemented in ILE languages.