Zainstalowalem java_bridge i niby dziala bo kod:
<?php $v = new java(\"java.lang.System\"); $arr=$v->getProperties(); foreach ($arr as $key => $value) { } ?>
zwraca mi to co powinnien.
Problem zaczyna sie gdy taki kod JAVY chce przelozyc na php
Kod
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;
import org.apache.fop.apps.*;
public class RunFOP {
public static void main(String[] args) {
try{
Driver drv= new Driver();
drv.setRenderer(Driver.RENDER_PDF);
drv.setOutputStream(new FileOutputStream("out.pdf"));
Result foInput= new SAXResult(drv.getContentHandler());
Source srcXML=new StreamSource("file.xml");
Source srcXSL=new StreamSource("file.xsl");
TransformerFactory tf=TransformerFactory.newInstance();
Transformer t=tf.newTransformer(srcXSL);
t.transform(srcXML,foInput);
}catch(Exception e){}
}
}
import javax.xml.transform.*;
import javax.xml.transform.sax.*;
import javax.xml.transform.stream.*;
import org.apache.fop.apps.*;
public class RunFOP {
public static void main(String[] args) {
try{
Driver drv= new Driver();
drv.setRenderer(Driver.RENDER_PDF);
drv.setOutputStream(new FileOutputStream("out.pdf"));
Result foInput= new SAXResult(drv.getContentHandler());
Source srcXML=new StreamSource("file.xml");
Source srcXSL=new StreamSource("file.xsl");
TransformerFactory tf=TransformerFactory.newInstance();
Transformer t=tf.newTransformer(srcXSL);
t.transform(srcXML,foInput);
}catch(Exception e){}
}
}
W javie to mi dziala lecz gdy probuje zinstancjowac klase driver w php w ten sposob:
<?php $v = new java(\"java.lang.System\"); $v->setProperty(\"java.class.path\",$v->getProperty(\"java.class.path\").';' . LIB_DIR.'fop.jar'.';'. LIB_DIR.'avalon-framework-cvs-20020806.jar'.';' . LIB_DIR.'batik.jar'.';'. LIB_DIR.'xalan-2.4.1.jar'.';'. LIB_DIR.'xercesImpl-2.2.1.jar'.';'. LIB_DIR.'xml-apis.jar'.';' ); $drv=new java(\"org.apache.fop.apps.Driver\"); ?>
mowi ze:
Kod
Fatal error: Uncaught java.lang.Exception: CreateInstance failed: new org.apache.fop.apps.Driver. Cause: java.lang.ClassNotFoundException: org.apache.fop.apps.Driver not found: []
thrown in d:\tests\fo.php on line 32
thrown in d:\tests\fo.php on line 32
wiec ja na to wzialem to w blok try catch w ten sposob
<?php try{ $drv=new java(\"org.apache.fop.apps.Driver\"); }catch(Exception $e){ } ?>
a skrypt wchodzi mi za kazdym razem w catch i nawet rozsadnego bledu nie pokaze

efekt var_dump($e) to:
Kod
object(javaexception)#3 (7) {
["message:protected"]=>
string(0) ""
["string:private"]=>
string(0) ""
["code:protected"]=>
int(0)
["file:protected"]=>
string(63) "d:\tests\fo.php"
["line:protected"]=>
int(32)
["trace:private"]=>
array(1) {
[0]=>
array(6) {
["file"]=>
string(63) "d:\tests\fo.php"
["line"]=>
int(32)
["function"]=>
string(4) "java"
["class"]=>
string(4) "java"
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
string(26) "org.apache.fop.apps.Driver"
}
}
}
[0]=>
int(2)
}
["message:protected"]=>
string(0) ""
["string:private"]=>
string(0) ""
["code:protected"]=>
int(0)
["file:protected"]=>
string(63) "d:\tests\fo.php"
["line:protected"]=>
int(32)
["trace:private"]=>
array(1) {
[0]=>
array(6) {
["file"]=>
string(63) "d:\tests\fo.php"
["line"]=>
int(32)
["function"]=>
string(4) "java"
["class"]=>
string(4) "java"
["type"]=>
string(2) "->"
["args"]=>
array(1) {
[0]=>
string(26) "org.apache.fop.apps.Driver"
}
}
}
[0]=>
int(2)
}
i nie wiem co mam zrobic


juz mi rece opadaja bo nie wiem co mam zrobic?
dodam ze importuje *.jar w kodzie php poprzez dodanie ich do java.class.path a na stronie java_bridge w przykladach uzywaja funkcji java_require("C:/lib.jar"); lecz jesli probuje ja wywolac to mowi mie ze nie ma takiej funkcji a wyzej podany przyklad javy w php pierwszy ktory podalem dziala ? wiec java_bridge niby funkcjonuje
ma ktos jakies pomysly?