Search code examples
ceylon

Can't import any java classes


HelloWorld.ceylon

import java.util { HashMap } //Error:(1, 8) ceylon: package not found in imported modules: java.util (define a module and add module import to its module descriptor)

void run() {
    print("test");

}

module.properties

module CeylonHelloWorld "1.0" {
    import java.base "8";
}

I get an exception in HelloWord.ceylon file


Solution

  • Like mentioned by Gavin you will have to use a legal module name, when I change your code to use the module name "java8test" I get the following output when compiling:

    $ ceylon compile java8test
    warning: It looks like you are using class files from a Java newer than 1.7.
      Everything should work well, but if not, let us know at https://github.com/ceylon/ceylon-compiler/issues.
      In the near future, the Ceylon compiler will be upgraded to handle Java 1.8.
    ./source/java8test/run.ceylon:1: warning: import is never used: 'HashMap'
    import java.util { HashMap }
                  ^
    2 warnings
    Note: Created module java8test/1.0.0
    

    Which is all as expected.