grant {
permission java.lang.RuntimePermission "loadLibrary.*";
permission java.lang.RuntimePermission "queuePrintJob";
permission java.lang.RuntimePermission "setContextClassLoader";
permission java.lang.RuntimePermission "getProtectionDomain";
permission java.lang.reflect.ReflectPermission "suppressAccessChecks";
};
grant {
permission java.util.PropertyPermission "*" , " read,write " ;
};
最近一個項目需要用到SUN ONE APPSERVER8.1,本人在WINDOWS SERVER 2003中安裝,碰到一些問題,不過比較幸運的是都解決了,下面大概描述一下個人碰到的問題,期望能給別人帶來幫助
一、DNS服務器問題
安裝SUN ONE APPSERVER8.1必須要在服務器上安裝,而且必須要將該服務器設置為DNS服務器。關于WINDOWS SERVER 2003
如何設置DNS服務器,網上很多資料,可以查閱
二、文件系統權限訪問問題
也許SUN ONE APPSERVER8.1服務器在文件訪問方面控制比較嚴格,如果按照默認安裝上去的系統。對于一些文件夾、文件讀取是會有一些控制的。比如說,當將應用部署上去,然后訪問應用,會拋出SecurityException。這是因為需要編譯jsp頁面,生成class文件,由于沒有寫權限,所以會出錯。解決的方法是為SUN ONE APPSERVER增加文件訪問權限。修改方法如下:
找到安裝路徑,下面以本人的安裝路徑為例子:
c\sunjes\ApplicationServer\domains\domain1\config
該目錄下面有一個文件叫server.policy,打開該頁面,可以看到里面是一些關于文件訪問權限的例子

// Core server classes get all permissions by default
grant codeBase " file:${com.sun.aas.installRoot}/lib/- " {
permission java.security.AllPermission;
};

下面為文件路徑增加訪問權限,個人把整個c盤設置為可讀可寫,如下
grant codeBase " file:c:/- " {
permission java.security.AllPermission;
};
grant {
permission java.io.FilePermission " c:/- " , " read,write,execute,delete " ;
};
編輯完畢,保存,重啟服務器,OK,該問題解決。 :)
三、其他幾個權限問題:
編輯以上問題后,重新自動,可能還會發現以下幾個異常,比如 permission java.util.PropertyPermission "*" , " read,write " ;
因此,分別加上如下幾個權限設置即可
四、ORACLE10.2.0.1驅動問題
本人部署的應用是spring+hb架構,里面用到blog/clob大字段處理,因此驅動程序用最新的驅動程序10g,版本為10.2.0.1。在部署到SUN ONE APPSERVER8.1時,也拋出類訪問異常,異常信息是:oracle.sql is sealed。沒辦法,上網搜索了一下,發現有很多人也遇過這個情況。主要是oracle10g.jar里面的Meta-inf定義,增加了sealed屬性。打開該文件MANIFEST.MF,內容如下:
Manifest - Version: 1.0
Specification - Title: Oracle JDBC driver classes for use with JDK14
Created - By: 1.4 .2_08 (Sun Microsystems Inc.)
sealed: true
Implementation - Title: ojdbc14.jar
Specification - Vendor: Oracle Corporation
Specification - Version: Oracle JDBC Driver version - " 10.2.0.1.0 "
Implementation - Version: Oracle JDBC Driver version - " 10.2.0.1.0 "
Implementation - Vendor: Oracle Corporation
Implementation - Time: Wed Jun 22 18 : 55 : 48 2005
關于sealed屬性網上也有
很多資料介紹,有興趣的網友可以參閱一下。網上同行的解決方法是下載10g,低點的版本。本人的解決方法是修改一下里面的MANIFEST.MF文件,把sealed:true去掉即可。
四、包版本不兼容。
解決完以上幾個問題后,重新啟動,本以為萬事大吉,很不幸運的是,再次拋出異常:
ClassNotFoundException: org.hibernate.hql.ast.HqlToken。同樣,上網搜索了一下,發現是hibernate的antlr.jar和SUN ONE APPSERVER的antlr.jar存在沖突。hibernate3.0版本用
的antlr.jar包版本是2.7.5,比SUN ONE APPSERVER的高。以前在weblogic部署應用時,也出現過類似的問題。由于這些服務器會優先裝載自己的類,因此會出現一些問題。解決方法是把hibernate下較高版本的antlr.jar放在classpath的前面。在SUN ONE APPSERVER
下最快捷的方式就是將antlr-2.7.5H3.jar拷貝到ApplicationServer\lib目錄下面即可
解決完以上幾個問題后,再次重啟,訪問,OK,一切正常!好有成就感 :)
posted on 2006-11-29 14:42
jspark 閱讀(1687)
評論(1) 編輯 收藏