有关php调用lucene(JAVA)代码的问题
最近想使用网页显示Lucene搜索的结果,网上说用Php和javabridge可以,但是,我使用javabridge里面的example或者自己写的类都不行。
apache2.2+php5+mysql
现在是可以调用java自己的类如java.lang.String,但是自己写的不行啊。。。而且javabridge里面有一个例子是这样的:
PHP code
<?php include_once ("java/Java.inc");
java_autoload("lucene.jar");
use java\lang\System as SYS;
use java\io as IO;
use java\util as Util;
use org\apache\lucene as Lucene;
try {
echo "indexing ... ";
/* create the index files in the tmp dir */
$tmp = create_index_dir();
$analyzer = new Lucene\analysis\standard\StandardAnalyzer();
$writer = new Lucene\index\IndexWriter($tmp, $analyzer, true);
$file = new IO\File(getcwd());
$files = $file->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"); 试试看
我这没问题的