java開源項目研究 1. 引子
來源:互聯網
上載者:User
項目
一夜之間,開源項目彷彿無處不在,幾乎覆蓋了包括作業系統、網路通訊、案頭環境、教育、辦公、安全、文文書處理、資料庫、中介軟體、應用娛樂在內的所有軟體類型。在最大的開源項目發布平台www.sourceforge.net上,已經有近十萬件開源項目,並且每天都有更多新的開源項目加入。而著名的www.apache.org則為大家奉獻了Apache、Tomcat、Struts 、Axis等。
開源運動是程式員對智慧成果共用、自由的追求,每天都有無數程式員為開源世界添磚加瓦,還有更多的程式員在學習開源軟體的思想、架構和實現(我也是其中一個^_^)。將開源項目的思想、架構運用,或者是直接整合到工作項目中,是幾乎每個開發人員都要面對的(為公司提高效率,節省工作量,老闆說不定就給你加薪嘍)問題。
Java開源軟體是開源世界中的生力軍。從開發工具IDE(就是大家熟悉的eclipse)、架構Framework、中介軟體、再到測試載入器,幾乎可以找到開源的整套解決方案。站在巨人的肩膀上看的更遠,學習、研究、應用優秀的java開源項目,既可以提高自身的水平,又可以提高項目開發的效率、促進和保證軟體開發的品質,如此一箭多雕的事,何樂而不為呢(不過要學的東西可真不少啊:()。
筆者在工作中,接觸到了不少開源軟體,感覺很有必要系統的學習一下。基於開源精神,準備將學習的心得整理出來,既是對自己學習的整理和記錄,更希望能給您一點啟發和協助(水平有限,別砸臭雞蛋^_^)。
在前面幾節,會簡單介紹一下開源軟體的曆史、軟體許可協議等相關知識。後邊則對著名的開源項目一一介紹,不可能很細緻,主要介紹一下軟體的功能和應用情境(如果感興趣,就需要您自己深入研究啦)。打算至少一個星期更新一節,歡迎您多提意見!感謝您的關注^_^
以下是打算介紹的開源項目名稱(初步打算,會有增刪)
Anthill Build Management Server AntiChess ANTLR Apache Jakarta : OJB Apache Jakarta: Alexandria Apache Jakarta: Ant Apache Jakarta: Avalon Apache Jakarta: BCEL Apache Jakarta: Cactus Apache Jakarta: Commons Apache Jakarta: ECS Apache Jakarta: James Apache Jakarta: Jetspeed Apache Jakarta: JMeter Apache Jakarta: Log4j Apache Jakarta: Lucene Apache Jakarta: ORO Apache Jakarta: POI/POI Serialization Project Apache Jakarta: Regexp Apache Jakarta: Slide Apache Jakarta: Struts Apache Jakarta: Taglibs Apache Jakarta: Tomcat Apache Jakarta: Turbine Apache Jakarta: Velocity Apache Jakarta: Watchdog Apache XML-RPC Apache XML: AXIS Apache XML: AxKit Apache XML: Batik Apache XML: Cocoon Apache XML: Crimson Apache XML: FOP Apache XML: Security Apache XML: SOAP Apache XML: Xalan Apache XML: Xang Apache XML: Xerces Apache XML: Xindice Apollo Arch4J ArgoUML ashkelon ASM c2h: cetacean-to-human Castor Cayenne O/R Framework Checkstyle Compaq's Web Language Compiere ERP/CRM Business Solution DataVision Echo Eclipse Enhydra Expresso Framework Freenet FreeTTS GNU Trove Hibernate HSQL Database Engine IBM Jikes InfoSapient iSQL iText ITracker: Java Issue Tracking Software JacORB Japple Java Outline Editor (JOE) Java Wireless Connection Program JavaClientForDict Jawin JBeans JBoss jCharts jDictionary JDigraph JDOM jEdit Jetty Jext JFaceDbc JFreeChart JGraphicTools JOnAS Jonathan JORAM JOrganizer JORM Jostraca JOTM JPackage Project JPedal jPOS jPOS JPublish JRuby JSmooth jTans JUnit Just4log Logging optimizator. JXTA Jython Karapan Sapi Struts Generator kCommand Liferay Enterprise Portal Lumbermill Luxor XUL MARC4J Maverik Mercator (Java POS) Millstone Mixer MM.MySQL ModelJ - Generate J2EE-Based Web Sites Mondrian MrPostman - webmail to POP3 email Gateway Mx4j NetBeans NoUnit Open For Business Open Source Java OpenCCM OpenEJB OpenEMed OpenJMS OpenNMS OpenORB OSCache OSCore OSWorkflow P6Spy PCGen PicoContainer PowerFolder ProActive ProDBA ProGuard QueryForm RmiJdbc Roller Weblogger SiteMesh SnipSnap SourceJammer Spindle Spring Framework SQuirreL SQL Client Tapestry: Java Web Components The JADE Open Framework The Open For Business Project toejam Uncle Unc Voruta WebWork WfMOpen Xbeans XDoclet Xineo XML Import Language XmlTask XmlTask XMLUnit XNap Ziga
聯絡作者: dawanjia@126.com
參考資料:1. GNU 官方網站 www.gnu.org2. 開源發布平台 www.sourceforge.net3. 開源共舞 http://www.donews.net/hdp/archive/2004/08/30/83115.aspx