2014-10-23 2 views
0

HelloWorld.ceylonНевозможно импортировать любые классы Java

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"; 
} 

я получаю исключение в HelloWord.ceylon файл

+0

ли вы на самом деле Java 8 установлен? Если да, уверены ли вы, что используете IDE с Java 8? Пробовали ли вы 'import java.base" 7 "'? – Renato

+0

@Renato Я установил java 8, но я попробовал "import java.base" 7 "" – danpetruk

ответ

0

Как упомянуто Гэвин вам придется использовать имя юридического модуля, когда я изменить код, чтобы использовать имя модуля «java8test» Я получаю следующий результат при компиляции:

$ 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 

Что все как ожидается.

1

Когда я пытаюсь этот код, я получаю:

Incorrect syntax: mismatched token CeylonHelloWorld expecting initial-lowercase identifier 

module.ceylon.

Название модуля должно быть формы foo.bar.baz (идентификаторы начального и нижнего регистра, разделенные точками).

0

module.ceylon

module holaCeylon "1.0.0"{ 
    import java.base "7"; // versión 7 JDK 
} 

package.ceylon

shared package holaCeylon; 

Теперь мы вернемся к файлу run.ceylon и импортировать библиотеку java.util.HashMap Java.

run.ceylon

import java.util { HashMap } 

shared void run(){ 
    print("Importando librerias de Java en Ceylon"); 
    value romanos = HashMap<String,Integer>(); 
    romanos.put("I", 1); 
    romanos.put("V", 5); 
    romanos.put("X", 10); 
    romanos.put("L", 50); 
    romanos.put("C", 100); 
    romanos.put("D", 500); 
    romanos.put("M", 1000); 
    print(romanos.values()); 
    print(romanos.keySet()); 
} 

Выход: salida

Код: http://codemonkeyjunior.blogspot.mx/2015/03/ceylon-interoperabilidad-con-java.html