一連のシステムコマンドを使用して、RubyからJavaコマンドライン操作を実行しようとしています。最初のコマンドは正常に機能しますが、2番目のコマンド(maui javaコマンド)からは成功しません。私が間違っていることはありますか?
Dir.chdir('/var/lib/maui') do
system 'cat %s/*.txt > %s/topics.txt' % [text_path, identifier_path]
system 'java maui.main.MauiTopicExtractor -l %s -m go_model' % [identifier_path]
end
また、Javaコマンドを処理するbashスクリプトを呼び出してみました。
output = %x[/var/lib/maui/process.sh #{identifier_path}]
ただし、同じ結果が発生します。ファイルは連結されますが、マウイに到達することはありません。
mauiコマンドからstdoutputをキャプチャすると、次のようになります(必要に応じてすべての環境変数を設定し、rubyの外部でコマンドを実行すると機能します)。
Exception in thread "main" java.lang.NoClassDefFoundError: maui/main/MauiTopicExtractor
Caused by: java.lang.ClassNotFoundException: maui.main.MauiTopicExtractor
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: maui.main.MauiTopicExtractor. Program will exit
助けていただければ幸いです。