Maison  >  Article  >  développement back-end  >  有关php调用lucene(JAVA)代码的有关问题

有关php调用lucene(JAVA)代码的有关问题

WBOY
WBOYoriginal
2016-06-13 10:01:15903parcourir

有关php调用lucene(JAVA)代码的问题
最近想使用网页显示Lucene搜索的结果,网上说用Php和javabridge可以,但是,我使用javabridge里面的example或者自己写的类都不行。
apache2.2+php5+mysql
现在是可以调用java自己的类如java.lang.String,但是自己写的不行啊。。。而且javabridge里面有一个例子是这样的:

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?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"); 试试看

我这没问题的
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn