在php中调用java的方法

跨平台,跨语言的项目现在已经屡见不鲜,今天就说一说之前做过项目中,php调用java的方法:

无论是在linux远程服务器上,还是在windows下,最简单有效的方法,应该属于javabridge.jar。将java函数封装成jar包,php通过Javabridge.jar就可以进行调用。

一、在windows下的使用方法:

 

(1)将JavaBridge.jar放置在php路径下的ext文件夹当中,在使用之前,手动双击启动,选择SERVE_HTTP:8080.

(2)找到对应的java.inc文件。我将此文件放置在了php的文件路径下。

(3)将所需要引用的java工程封装成为jar包,放置在php文件路径下。
(4)使用:

<?php

#use for php to ask java

require_once("Java.inc"); //必须包含的配置文件

java_require("bwreader.jar"); //引用所需要使用的jar包,新版本的javaBridge中没有java_require这个功能,对于新版本怎么解决这个问题我也就没有研究

$test = new Java("bw.test"); //产生实例

$result =  $test->read($ar[0],$ar[1],$ar[2]); //使用java中的方法

?>

二、在linux下使用javabridge.jar
这个过程相对于windows下相对复杂:
1.在linux服务器上安装Javabridge:
(1)下载php-java-bridge.tar.gz压缩文件。我下的是5.5.4.1版本
(2)进入php-java-bridge.tar.gz所在的目录,执行phpize :/user/local/php/bin/phpize (有时候可能路径不同,总之找到phpize就好)
(3)编译:./config --with-java=$JAVA_HOME --with-php-config=/user/local/php/bin/php-config
(4)安装:make,make install
2.在php中配置javabridge:
(1)编辑php.ini文件:vim /user/local/apache2/conf/php.ini
(2)添加如下内容:
include_path = "/home/pcsong/software/webserver/javabridge/java"
extension = java.so
[java]
java.java_home="/usr/local/jdk1.8.0_77"
java.java="/usr/local/jdk1.8.0_77/jre/bin/java"
java.log_file="/var/log/php-java-bridge.log"
java.classpath="/home/pcsong/software/php/lib/php/extensions/no-debug-zts-20131226/JavaBridge.jar"
java.libpath="/home/pcsong/software/php/lib/php/extensions/no-debug-zts-20131226/;/usr/local/jdk1.8.0_77/jre/bin/"
3.验证:
重启apache,访问phpinfo页面,如果过有Java模块,就说明安装成功了
4.使用javabridge:

进入到Javabridge所在目录下,如果端口被占用,则需要修改Java.inc中的配置文件中监听端口。

java -jar JavaBridge.jar SERVLET_LOCAL:8081&

三、将工程封装成jar包:
一般的工程直接使用eclipse的export功能就可以。但是当要封装的java工程中调用了其他的jar包时,需要进一步处理:
有一种比较简单的方法就是:
将外部jar包解压缩,获取所有的class文件,然后与Java工程的class一起封装成为新的jar包。比如您的class包存放路径为 d:/com/demo (demo是个目录,下面含有子文件夹及class文件)

具体操作如下:

1、打开dos窗口,进入demo目录

cd d:/com/demo

2、执行 jar cvf demo.jar * 回车

3、在demo目录下面你会发现demo.jar



 

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值