當前位置:首頁 » 編程軟體 » ice編譯java

ice編譯java

發布時間: 2022-11-17 10:37:16

1. 基於ICE的phpjava間的通信

PHP與JAVA融合的開發環境

一.系統環境

1.初始安裝

防火牆開放介面:21,22,80,2401,8009,10000,eth0
Redhat linux 9.0
Development Tools

Network Servers
VSFtp
CVS-1.11.2-10
Mysql 3.23.54

2.包安裝

JDK 1.5
下載地址:http://www.netshine.com.cn/linux/j2sdk-1_4_2_04-linux-i586.rpm

Tomcat 5.0.19
下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-5.0.19.tar.gz

3.腳本安裝

Webmin 1.110
下載地址:http://www.netshine.com.cn/linux/webmin-1.110.tar.gz

ZendOptimizer 2.5.1
下載地址:http://www.netshine.com.cn/linux/ZendOptimizer-2.5.1-Linux_glibc21-i386.tar.gz

4.手工編譯

Apache 2.0.49
下載地址:http://www.netshine.com.cn/linux/httpd-2.0.49.tar.gz

PHP 4.3.5
下載地址:http://www.netshine.com.cn/linux/php-4.3.5.tar.gz
JK 2-2.0.4
下載地址:http://www.netshine.com.cn/linux/jakarta-tomcat-connectors-jk2-src-current.tar.gz

5.客戶機環境

Windows XP Professional
Absolute Telnet 3.0
Zend Encoder
Macromedia Dreamweaver MX 2004
Borland JBuilder 9 Enterprise
WinCVS 1.3
下載地址:http://www.netshine.com.cn/linux/WinCvs13b17.zip

二.系統安裝

啟動Linux安裝光碟,安裝基本系統:FTP、開發工具和MySQL3.23.54。如果你是手工編譯安裝MySQL,要記得以後在編譯PHP等程序時要指明MySQL的具體路徑,否則會因找不到路徑而導致編譯出錯。

三.安裝webmin1.110

用Webmin來配置系統,傻瓜化,可以節省不少力氣,所以一般我都先安裝它。安裝過程很簡單,執行setup.sh腳本後照提示一步一步來就可以了。

# cd webmin*
# ./setup.sh

四.安裝JDK1.5

1.編輯如下三個文件,沒有指明全路徑的放在你自己的home目錄就可以。

/etc/profile
JAVA_HOME=/usr/java/j2sdk1.4.2_04
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
CVSROOT=/usr/local/cvsroot
PATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export JAVA_HOME CLASSPATH CVSROOT PATH

/etc/ld.so.conf
/usr/java/j2sdk1.4.2_04/jre/lib/i386
/usr/java/j2sdk1.4.2_04/jre/lib/i386/server

HelloWorld.java
class HelloWorld
{
public static void main(String[] args)
{
//本文件測試Java環境是否安裝成功。
System.out.println("Hello World!");
}
}

2.執行以下命令:

# rpm -ivh j2sdk*.rpm //安裝JDK包。
# source /etc/profile //重載profile環境。
# ldconfig //創建動態鏈接庫緩存文件。
# javac -d . HelloWorld.java //編譯測試文件。
# java HelloWorld //運行程序測試安裝是否成功。

五.安裝Apache

# tar xvzf httpd* //解壓源碼包。
# cd httpd* //進入安裝目錄。
# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=most --enable-rewrite
# make;make install //編譯並安裝。

說明:

--enable-so選項:讓Apache可以支持DSO模式,注意,我們在這里採用的是Apache2.0的語法。如果你的Apache是1.3版本,應改為--enable-mole=so。

--enable-mods-shared=most選項:告訴編譯器將所有標准模塊都編譯為DSO模塊。你要是用的是Apache1.3,改為--enable-shared=max就可以。

--enable-rewrite選項:支持地址重寫功能,使用1.3版本的朋友請將它改為--enable-mole=rewrite。

六.編譯安裝PHP

1.執行命令

#tar xvzf php* //解壓源碼包
#cd php* //進入PHP安裝命令
#./configure --prefix=/usr/local/php --with-mysql --with-apxs2=/usr/local
/apache/bin/apxs --with-java=/usr/java/j2sdk1.4.2_04
#make;make install //編譯並安裝
#cp php.ini-dist /usr/local/php/lib/php.ini //復制php配置文件
#cd /usr/local/php/lib/php/extensions/no-debug-non-zts-20020429 //extensions目錄
#ln -s java.so libphp_java.so //建立連接,忘記了會出錯哦
#cd Zend* //進入ZendOptimizer目錄
#./install //安裝PHP加速器

說明:

--with-apxs2=/usr/local/apache/bin/apxs是Apache2的語法,1.3版本的用戶請使用--with-apxs=/usr/local/apache/bin/apxs。

2.編輯下面三個文件

/usr/local/apache/conf/httpd.conf
LoadMole php4_mole moles/libphp4.so

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

AddDefaultCharset gb2312

/usr/local/apache/htdocs/test.php
<?php
//本程序測試PHP的JAVA環境是否可用,
代碼是從http://www.php.net/manual/en/ref.java.php摘錄下來的。

// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');

// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
$system->getProperty('os.version') . ' on ' .
$system->getProperty('os.arch') . ' <br />';

// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
"EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");

echo $formatter->format(new Java('java.util.Date'));
?>

/usr/local/php/lib/php.ini
register_globals=On
[Java]
java.class.path=/usr/local/php/lib/php/php_java.jar:/home/jim/myclass
java.home=/usr/java/j2sdk1.4.2_04
java.library=/usr/java/j2sdk1.4.2_04/jre/lib/i386/libjava.so
java.library.path=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20020429
extension=libphp_java.so

注意:

(1).如果你剛剛從以前老版本的PHP轉換到新版本,可能會發現你的PHP程序很多都不能用了。別緊張!把register_globals打開就一切正常啦!這是因為老版本的PHP,它的register_globals默認是開著的,而新版本,卻把它關了的緣故。

(2)./home/jim/myclass是我存放JAVA組件的路徑,你可以根據實際情況修改,但是為了安全起見,可不要放在web目錄下哦。

2. Java:ICE協議應用是否廣泛,有沒有其他更好地選擇呢

常見的協議有這些。xml,json,php serialize,hessian,thrift, protobuf, ice,avro,messagepack都有很好的適用性。你可以根據需要選擇

3. eplice編寫java時怎麼調用常用的語句,減少手動輸入

JAVA輸入語句會用到Scanner類

Scanner scanner = new Scanner(System.in); //聲明Scanner對象
System.out.println("請輸入字元串"); //提示用戶輸入字元串
String result = scanner.next(); //定義一個result接受輸入的語句
System.out.println(result); //列印接受到的語句。
//另外scannner重載了很種方法 比如接受下一個整數,下一個字元等等

4. 用ICE實現客戶端調用伺服器上的方法(java),客戶端上調用部分顯示方法未定義,這段調用部分應該怎麼寫

ICE 要在客戶端服務端要有同樣生成的bean代碼,
在服務端啟動一個adapter
然後把你生成的代碼中的***I 點加到adapter中.

客戶端通過代理去調用.. 一兩句說不明白, 可以參考一下ICE demo中的 demoj.hello

5. 求高手指點:Ice 客服端代碼出現錯誤,程序如下:(在eclipse環境下運行)

編譯出問題了,缺少必要的頭文件,ICE_HOME是你的Ice安裝目錄,一般是/opt/ice,根據你版本來變化吧
c++ -I. -I$ICE_HOME/include -c Printer.cpp Server.cpp

6. 用ice實現java和c++的通信,代理類型返回為空是什麼原因

有區別, ICE 在基本上的相同的,但很多都是基於slice上的。 換句話來講只能是在slice上通用。
實際ICE是根據slice生成不同的原生語言(java,c++,php,c#)等,所以在語言上是等同於使用原生語言開發。 在數據上幾乎是一樣的,不過在顯示中文的時需要注意字元集問題。

返回代理類型為空一般都是,ICE的配置屬性是於相符, 代理是不是找不到。

7. 安裝了ice環境,明明有ice.jar,編譯時總是提示找不到ice軟體包是怎麼回事

是不是放在某個文件夾裡面,找不到呢。

8. 軟體包com.ice.jni.registry不存在(java編程)

不是好像不行,是肯定不行。。你去網上找下這個包。
http://hi..com/lidifeng/blog/item/32d39813561935826438db49.html
這里好像有個這個軟體包的下載地址,試試看

9. 一段基於C++語言的ICE主方法,不知誰能幫我翻譯為java的。初學ICE,文檔太少了。急求!!!

public class Demo extends Ice.Application
{
public int run (String[] args)
{
Ice.StringSeqHolder argsSH = new Ice.StringSeqHolder (args);
Ice.Properties properties = Ice.Util.createProperties (argsSH);

properties.setProperty ("Ice.Warn.Connections", "0");
properties.setProperty ("Ice.Trace.Protocol", "0");

Ice.InitializationData initData = new Ice.InitializationData();
initData.properties = properties;
Ice.Communicator ic = Ice.Util.initialize (initData);

// TODO Here ...

return 0;
}

public static void main (String[] args)
{
Demo app = new Demo();
int status = app.main ("Demo", args);
System.exit (status);
}
}

10. 基本的ice(java開發)的例子.編譯能通過,執行到Ice.Util時出現classnotfound異常.請問如何解決.謝謝!

public class FilenameDemo
{
public static void main(String[] args) {
Filename myHomePage = new Filename("/home/men/index.html", '/', '.');
System.out.println("Extension="+myHomePage.extension());
System.out.println("Filename="+myHomePage.filename());
System.out.println("Path="+myHomePage.path());
}
}
class Filename
{
private String fullPath;
private char pathSeparator, extensionSeparator;
public Filename(String str, char sep, char ext){
fullPath=str;
pathSeparator=sep;
extensionSeparator=ext;
}
public String extension() {
int dot =fullPath.lastIndexOf(extensionSeparator);
return fullPath.substring(dot+1);
}
public String filename() {
int dot=fullPath.lastIndexOf(extensionSeparator);
int sep=fullPath.lastIndexOf(pathSeparator);
return fullPath.substring(sep+1,dot);
}
public String path() {
int sep=fullPath.lastIndexOf(pathSeparator);
return fullPath.substring(0,sep+1);
}
}
這是修改之後的代碼,可以用。
如果你是在DOS命令下運行這段代碼,你應該把Filename類寫在另一個文件里。不明白的話,hi我吧。

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您生活愉快!

vaela

熱點內容
csgo怎麼進日本伺服器 發布:2025-05-14 00:39:18 瀏覽:747
ip查伺服器商家 發布:2025-05-14 00:33:37 瀏覽:212
雲伺服器布 發布:2025-05-14 00:27:55 瀏覽:78
吃雞最佳配置怎麼看 發布:2025-05-14 00:25:32 瀏覽:226
oraclesql效率 發布:2025-05-14 00:17:40 瀏覽:601
cifjava代碼 發布:2025-05-14 00:10:34 瀏覽:214
泰國電視劇密碼在哪裡看 發布:2025-05-13 23:54:22 瀏覽:481
安卓用郵件下完保存在哪裡 發布:2025-05-13 23:52:31 瀏覽:479
解壓美食蛋糕 發布:2025-05-13 23:36:25 瀏覽:354
php含有字元 發布:2025-05-13 23:32:08 瀏覽:184