有關php調用lucene(JAVA)代碼的問題
最近想使用網頁顯示Lucene搜尋的結果,網上說用Php和javabridge可以,但是,我使用javabridge裡面的example或者自己寫的類都不行。
apache2.2+php5+mysql
現在是可以調用java自己的類如java.lang.String,但是自己寫的不行啊。。。而且javabridge裡面有一個例子是這樣的:
PHP code
listFiles(); assert (!java_is_null($files)); foreach($files as $f) { $doc = new Lucene\document\Document(); $doc->add(new Lucene\document\Field( "name", $f->getName(), Lucene\document\Field::type("Store")->YES, Lucene\document\Field::type("Index")->UN_TOKENIZED)); $writer->addDocument($doc); }................................................
但是輸出是這個
Warning: Unexpected character in input: '\' (ASCII=92) state=0 in C:\AppServ\www\test.php on line 5
Parse error: syntax error, unexpected T_STRING, expecting T_AS or T_PAAMAYIM_NEKUDOTAYIM or ';' in C:\AppServ\www\test.php on line 5
貌似php沒有use這個用法啊。。。?
如果用java_require("lucene.jar");又說java_require什麼不支援了。。。
大家路過幫幫忙吧。。。謝謝了
------解決方案--------------------
您的 php 版本太低了,尚不支援命名空間
------解決方案--------------------
環境有配置好嗎。。。
編寫一個簡單的php測試一下。。。
$str = new java("java.lang.String", "hello");
echo $str;
------解決方案--------------------
這個問題好像我也遇到過,不過到現在也沒解決
------解決方案--------------------
樓上是不是灌水啊,還弄個好像遇到過?我是真的遇到過,到現在還沒解決的呢!
------解決方案--------------------
自己寫個helloworld打包成jar 放到JavaBridge/WEB-INF/lib/下面 重啟下jdk
然後在php裡面 $helloworld=new Java("helloworld"); 試試看
我這沒問題的