Inline文檔對學習如何使用STUDY配置沒有太大幫助,任何人都可以澄清調用打印方法(比如Hello())的簡單無效方法時涉及的語法嗎?Inline :: java STUDY配置
另外,就外部java文件而言,是否有一個特定的目錄需要放入,還是放在perl腳本的同一目錄中?
Inline文檔對學習如何使用STUDY配置沒有太大幫助,任何人都可以澄清調用打印方法(比如Hello())的簡單無效方法時涉及的語法嗎?Inline :: java STUDY配置
另外,就外部java文件而言,是否有一個特定的目錄需要放入,還是放在perl腳本的同一目錄中?
讓我們先從文件/home/foo/java_src/Hello.java
,其中包含:
public class Hello {
public Hello() {}
public void instance_hello() { System.out.println("hello world"); }
public static void static_hello() { System.out.println("HELLO WORLD"); }
}
第一應對你的第二個問題,use Inline Java ...
後的第一個參數可以是文件名,所以你可以在任何地方把你的源文件,並引用它通過其在perl代碼中的文件名:
use Inline Java => '/home/foo/java_src/Hello.java';
$obj = Hello->new();
$obj->instance_hello(); # "hello world"
Hello->static_hello(); # "HELLO WORLD"
請注意,您到目前爲止並不需要STUDY
。 Hello
類是在Inline::Java
模塊直接讀取的源代碼中定義的,因此該模塊將自動創建並填充Perl中的Hello
名稱空間。
STUDY
適用於不直接被Inline::Java
解析的類。因此,讓我們說,我們的Hello
類已被編譯爲jar
文件,稱爲/home/foo/jars/hello.jar
。現在使用Hello
類,你將需要:(1)在您的CLASSPATH
和(2)使用STUDY
hello.jar
告訴Inline::Java
創建Hello
命名空間:
use Inline Java => 'STUDY',
CLASSPATH => '/home/foo/jars/hello.jar',
STUDY => ['Hello'];
$obj = Hello->new;
Hello->static_hello; # "HELLO WORLD"
$obj->instance_hello; # "hello world"
我們有第一個參數STUDY
信號的Inline::Java
我們沒有將任何源代碼直接傳遞給模塊。我們也可以通過有效的源代碼或有效的源代碼文件名。
use Inline Java => 'public class Nothing() { }',
CLASSPATH => '/home/foo/jars/hello.jar',
STUDY => ['Hello'];
這是一個很窄的主題(使用Inline :: Java將Java代碼包含在Perl腳本中),恐怕在看到答案之前可能需要一段時間。您可能有更好的運氣訂閱並張貼[email protected]。有關詳細信息,請參閱http://lists.perl.org。 – DavidO 2014-08-29 23:25:41