Как я могу запустить внешний класс вне JVM-инициатора, не вызывая Runtime.getRuntime (). Exec (...)? - PullRequest
0 голосов
/ 17 июля 2010

Я имею в виду нечто, концептуально похожее на Runtime.getRuntime (). Exec (...), но которое позволяет напрямую вызывать класс без вызова exec ("java -classpath $ currentClasspath my.class.name") ...

Просто чтобы заметить, что tools.jar имеет полезный класс Java для компиляции конкретно исходных текстов Java, есть что-то похожее для непосредственного выполнения классов Java?

Ответы [ 2 ]

0 голосов
/ 17 июля 2010

Если у вас есть JAR и вы знаете API, вы можете вызывать new для любого класса и запускать их, как если бы они были вашими.Я не уверен, что вы спрашиваете здесь.Конечно, main - это просто еще один метод класса, пусть и статический.
Вызов exec запускает программу в другом процессе, что дает вам определенные преимущества.При желании вы могли бы вызвать main в другом потоке.
Может быть, немного больше подробностей было бы хорошо.

0 голосов
/ 17 июля 2010
String[] args = {"foo", "bar"};
my.pkg.MyClass.main(args);

Конечно, вы должны убедиться, что my.pkg.MyClass находится на вашем пути к классам во время компиляции и сборки.

...