源项目研究
一夜之间,开源项目仿佛无处不在,几乎覆盖了包括操作系统、网络通讯、桌面环境、教育、办公、安全、文字处理、数据库、中间件、应用娱乐在内的所有软件类型。在最大的开源项目发布平台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
Compaqs 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
一夜之间,开源项目仿佛无处不在,几乎覆盖了包括操作系统、网络通讯、桌面环境、教育、办公、安全、文字处理、数据库、中间件、应用娱乐在内的所有软件类型。在最大的开源项目发布平台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
Compaqs 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