Я написал простую программу Hello World с плагином Ceylon Eclipse:
Вот исходный код, если кто-то хочет быстро воспроизвести проблему:
shared void main() {
String omg = (process.arguments.first else "nothing");
print("You wrote ``omg``, you silly programmer!");
}
Теперь я могу нормально запустить эту программу из Eclipse. Но как мне запустить его из терминала?
У меня не установлены инструменты командной строки Ceylon, и я бы предпочел, чтобы они оставались такими. Когда я даю свою программу другим людям, я также не хочу, чтобы они устанавливали Ceylon.
Кажется, есть только один файл класса:
~/workspace/saloon $ find . -type f -name "*.class"
./.exploded/main_.class
Если я попытаюсь запустить это, я получу:
~/workspace/saloon/.exploded $ java main_
Exception in thread "main" java.lang.NoClassDefFoundError: ceylon/language/process_
at main_.main(main.ceylon)
Caused by: java.lang.ClassNotFoundException: ceylon.language.process_
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
Проект Eclipse, похоже, не зависит ни от каких .jar
файлов, только от одного .car
файла, но java
не работает с .car
файлами. Запускать проекты Scala Eclipse из терминала очень легко, если предоставить соответствующие .jar
файлы.
Итак, как мне запускать проекты Ceylon Eclipse из терминала через java
? Или это невозможно?