2013-07-04 6 views
6

У меня есть рубиновое приложение, которое я собрал в банку с помощью камышевки. Я могу запустить его как автономный, используя команду, например java -jar executable.jar. Но я не могу понять, как использовать эту банку в Java-коде. В частности, я хочу создать объекты своих классов Ruby в Java-коде, а затем вызвать методы.Как использовать классы Ruby, упакованные с использованием warbler в качестве jar в Java-коде?

ответ

2

Вы можете запустить его с ProcessBuilder:

ProcessBuilder processBuilder = new ProcessBuilder("/path/to/java", "-jar", "executable.jar"); 
processBuilder.directory(new File("preferred/working/directory")); 
Process process = processBuilder.start(); 

так или иначе, если вы используете Windows:

Runtime.getRuntime().exec("cmd /c start executable.jar"); 
+0

Я специально хотел, чтобы создать объекты моих классов Ruby, в коде Java. Технически, Java-объекты моих классов Ruby, если можно так выразиться. В классах Ruby используются Ruby gems, которые я упаковал как банку (executable.jar). Я отредактировал оригинальный вопрос, чтобы отразить это. – arrac

+1

@arrac - может быть, вам лучше использовать https://github.com/jruby/jruby/wiki/StandaloneJarsAndClasses - для генерации Java-классов из Ruby? – MikroDel