Home  >  Article  >  Backend Development  >  有关php调用lucene(JAVA)代码的有关问题

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

WBOY
WBOYOriginal
2016-06-13 13:50:00738browse

有关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"); 试试看

我这没问题的
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn