熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Javascript >> 正文

Jar clone的版本沖突

2013-11-23 17:54:02  來源: Javascript 

  新版《星球大戰》的精髓就是反對克隆幸運的是我們要談的不是像電影中那樣致命的克隆但是這種克隆帶來的傷害依然存在我們要談的是圍繞Apache Groups Xalan和Xerces的一系列問題
  
  克隆
  
  在我們的觀點中克隆是指包和類問題是XML和Java好像在一個連續改變的狀態中在說明書中建立的XML新特點必須在某處執行通常新特征和舊版本中的存在沖突盡管它不是很大的問題然而當你認識到這些矛盾執行被封裝和配置在同一克隆文件名時你還是將能意識到問題的存在
  
  克隆文件xalanjarxercesjarcrimsonjar給出了開發者和管理者要解決的問題但文件名不能顯示他們屬於哪個版本的任何信息
  
  更多問題
  
  問題是不僅存在這些文件的沖突執行而且JDK配置的版本也存在沖突JDK有一個指定目錄(lib/ext)該目錄自動存放著classpath中的一些jar文件該目錄被用於緩解到基本java包的注冊擴張因為該注冊擴張被設計成JDK(或JRE)的一部分感覺上是直接到java虛擬機與而不是自動加入classpath
  
  用JAVA解析XML已經變得那麼平常以至於很多JDK中配置了Xalan 和Xerces jar文件更重要的事他們被配置在lib/ext目錄下雖然這是一個好主意但他卻更容易帶來問題
  
  在IBM的JDK的lib/ext目錄下有一個舊的Xerces版本該版本不支持JAXP因此它與許多Xalan當前版本不兼容
  
  Sun存在同樣的問題他的JDK版本包含支持Crimson的JAXP但不幸的是JDK中配置的crimsonjar用了一個舊版的JAXP同樣也與許多Xalan當前版本不兼容
  
  解決途徑
  這還剛剛是問題表面當你開始考慮用政治或商業模塊建立應用程序時問題更為嚴重假如你需要用java聯合兩個應用程序一個應用程序你是用了IBM舊版的xercesjar另一個你用的是Sun 舊版的crimsonjar而你的代碼需要用最新版的Xerces 和Xalan
  
  理想的解決方法是所有的供應商升級他們的版本重新配置他們的應用軟件和模塊然而這是不可能的
  
  另一種選擇是檢查清楚每個應用程序使用的是那個jar文件的class如果條件允許你能安排classpath中的jar文件是他們按指定的次序裝載你可能也會考慮在不同的java虛擬機上安裝你的應用程序這樣對每個應用程序你能容易的操作不同的classpath讓你對每個應用程序使用需要的jar文件以分別操作
  

From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25313.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.