??xml version="1.0" encoding="utf-8" standalone="yes"?> The SOAP tool Apache Axis offers a lot of features which require the use of a deployment descriptor. This reference describes all the elements and attributes which can be used in a WSDD deployment descriptor. All Elements belong to the http://xml.apache.org/axis/wsdd/ namespace.Elements
]]>
前期准备[/B]
Quick Batch File (De)Compiler
Q何BAT、CMD批处理脚本编译ؓ(f)EXE文gQ?nbsp;
开?BR>1Q?nbsp; q行exe 文g
Java JDK里已l提供了(jin)调用的方法,不在累赘Q代码如下?BR>
try {
String command = "notepad";
Process child = Runtime.getRuntime().exec(command);
} catch (IOException e) {
}
2Q?nbsp; q行 batQ批处理Q?nbsp;文g
Java Ҏ(gu)处理文gq不支持。刚开始一直在研究 Java 如何调用批处理文Ӟ始终找不到解x法。后来只好绕q批处理Q考虑如何批处理转换为exe可执行文件。然后再通过Java调用可执行文件?BR>
在Google上搜索一下,扑ֈQuick Batch File (De)CompilerQ可以将MBAT、CMD批处理脚本编译ؓ(f)EXE文g。用了(jin)一下,果然可以?BR>
Quick Batch File (De)Compiler使用非常单:(x)
Quickbfc 文g?bat 文g?exeQ将批处理命令编译ؓ(f)可执行文Ӟ(j)
quickbfd 文g?exe 文g?batQ将可执行文件反~译为批处理命o(h)Q?BR>
然后Q我们再按第一U方法通过Java 调用Q即可?BR>
]]>
最q用mavenQ才发现自己掌握的java开发包太少啦,于是将http://www.ibiblio.org/maven/ 的开发包加上?jin)描q。这可花?jin)我三个晚上Q也希望大家自׃(jin)解的开发包加进来,让java开发包遍地开花,大家也可具体开发包谈谈自己使用?j)得?也希望斑竹多鼓励啦,壮我java开发h员军威(有这么开发包q怕谁Q,我们java开发h员有C啦Q?/P>
http://www.ibiblio.org/maven/ 开发包描述Q可能丢?jin)一点)(j)Q?BR>HTTPClient/ a complete http client library http://www.innovation.ch/java/HTTPClient/
aelfred/ A free Java-based XML parser http://mindprod.com/jgloss/aelfred.html
altrmi/ AltRMI is a from-scratch replacement for RMI http://incubator.apache.org/projects/altrmi
ant-contrib/ Useful little Ant tasks http://sourceforge.net/projects/ant-contrib
ant-doxygen/ Useful little Ant tasks http://sourceforge.net/projects/ant-doxygen
ant/ build system http://ant.apache.org/
antlr/ ANother Tool for Language Recognition http://www.antlr.org/
anttex/ TeX Extensions to ANT http://ls10-www.cs.uni-dortmund.de/~alfert/ant-extension/
aptconvert/ convert the APT format to HTML, XHTML, PDF... http://www.xmlmind.com/aptconvert.html
ashkelon/ navigating JavaDoc-like information about classes, members etc. http://sourceforge.net/projects/ashkelon/
asm/ Java bytecode manipulation framework http://asm.objectweb.org/
aspectj/ seamless aspect-oriented extension to java http://www.eclipse.org/aspectj/
avalon/ complete platform for component programming http://avalon.apache.org/
axion/ a small, fast, open source relational database system http://axion.tigris.org/
axis/ implementation of the SOAP http://ws.apache.org/axis/
batik/ based toolkit for svg http://xml.apache.org/batik/
bcel/ Byte Code Engineering Library http://jakarta.apache.org/bcel/
blissed/ Java state-machine framework http://www.sourceforge.net/projects/blissed
bouncycastle/ Crypto package is a Java implementation of cryptographic algorithms http://www.bouncycastle.org/documentation.html
bsf/ Bean Scripting Framework http://jakarta.apache.org/bsf/
bsh/ Lightweight Scripting for Java http://www.beanshell.org/
burlap/ Burlap web service protocol http://www.caucho.com/burlap/
cactus/ simple test framework for unit testing server-side java code http://jakarta.apache.org/cactus/
castor/ open source data binding framework http://castor.exolab.org/
cglib/ powerful, high performance and quality Code Generation Library http://cglib.sourceforge.net/
checkstyle/ check Java code that adheres to a coding standardc http://checkstyle.sourceforge.net/
classworlds/ framework for container developers who require complex manipulation of Java's ClassLoaders http://classworlds.codehaus.org/
clover/ code coverage analysis tool http://www.thecortex.net/clover/
com.walding/ Montage is a web photoalbum http://projects.walding.com/montage/
commons-beanutils/ http://jakarta.apache.org/commons/beanutils.html
commons-betwixt/ an XML introspection mechanism for mapping beans to XML in a flexible way http://jakarta.apache.org/commons/betwixt/index.html
commons-cli/ Command Line Interface http://jakarta.apache.org/commons/cli/index.html
commons-codec/ provides implementations of common encoders and decoders such as Base64, Hex, various phonetic encodings, and URLs http://jakarta.apache.org/commons/codec/index.html
commons-collections/ java Collections API http://jakarta.apache.org/commons/collections.html
commons-configuration/ a project to provide a generic Configuration interface and allow the source of the values to vary. http://jakarta.apache.org/commons/sandbox/configuration/index.html
commons-daemon/ http://jakarta.apache.org/commons/daemon/
commons-dbcp/ connection pool http://jakarta.apache.org/commons/dbcp/
commons-digester/ configure an XML -> Java object mapping module http://jakarta.apache.org/commons/digester.html
commons-discovery/ discovering, or finding, implementations for pluggable interfaces http://jakarta.apache.org/commons/discovery.html
commons-el/ the JSP 2.0 Expression Language Interpreter from Apache. http://jakarta.apache.org/commons/el.html
commons-email/ provide send mail function http://jakarta.apache.org/commons/sandbox/email/
commons-fileupload/ FileUpload package http://jakarta.apache.org/commons/fileupload/index.html
commons-grant/ a small collection of hacks to make using Jakarta Ant in an embedded envinronment much easier. http://jakarta.apache.org/commons/sandbox/grant/
commons-graph/ http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-graph.html
commons-http/ http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-http.html
commons-httpclient/ HttpClient to provide the core HTTP functionality http://jakarta.apache.org/commons/httpclient/index.html
commons-io/ package of Java utility classes for java.io's hierarchy http://jakarta.apache.org/commons/sandbox/io/
commons-jdbc2pool/
commons-jelly/ a tool for turning XML into executable code http://jakarta.apache.org/commons/jelly/index.html
commons-jexl/ Jexl is an expression language engine designed for easy embedding in applications and frameworks http://jakarta.apache.org/commons/jexl.html
commons-jux/ A common set of JUnit extensions, largely for test inheritance http://jakarta.apache.org/commons/sandbox/jux/
commons-jxpath/ a simple interpreter of an expression language called XPath http://jakarta.apache.org/commons/jxpath/index.html
commons-lang/ provide enough methods for manipulation of its core classes http://jakarta.apache.org/commons/lang.html
commons-latka/ a functional (end-to-end) testing tool http://jakarta.apache.org/commons/latka/index.html
commons-logging/ log toolkit
commons-messenger/ JMS (Java Message Service) framework which makes it very easy to use JMS in Web Service and Web Application environments. http://jakarta.apache.org/commons/sandbox/messenger/index.html
commons-modeler/ designed to make this process fairly painless -- the required metadata is configured from an XML description of each Model MBean to be supported http://jakarta.apache.org/commons/modeler.html
commons-net/ an Internet protocol suite Java library http://jakarta.apache.org/commons/net/index.html
commons-pool/ Object-pooling API http://jakarta.apache.org/commons/pool/
commons-resources/ providing customized MessageResources implementations that can access resource strings from any desired static or dynamically updated collection http://jakarta.apache.org/commons/sandbox/resources/index.html
commons-sql/ a component for working with databases and generating DDL http://jakarta.apache.org/commons/sandbox/sql/index.html
commons-threadpool/ a component for working with pools of threads and asynchronously executing tasks. http://jakarta.apache.org/commons/sandbox/threadpool/index.html
commons-util/ http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-util.html
commons-validator/ http://jakarta.apache.org/commons/validator/index.html
commons-vfs/ a single API for accessing various different file systems http://jakarta.apache.org/commons/sandbox/vfs/index.html
commons-xo/ http://lsd.student.utwente.nl/gump/jakarta-commons-sandbox/commons-xo.html
concurrent/ Concurrent Programming in Java http://gee.cs.oswego.edu/dl/cpj/
cornerstone-connection/ provides a facility to listen for incoming socket connections http://avalon.apache.org/components/components/connection.html
cornerstone-datasour..> provides a way to select DataSourceComponent http://avalon.apache.org/components/components/datasource.html
cornerstone-scheduler/ provides a services supporting the scheduling of activities to occur an certain intervals http://avalon.apache.org/components/components/scheduler.html
cornerstone-sockets/ provides a way to lookup a factory for server of client sockets http://avalon.apache.org/components/components/sockets.html
cornerstone-store/ provides a way to store named Objects or Streams without knowing how they are stored http://avalon.apache.org/components/components/store.html
cornerstone-threads/ provides a way get default or named Thread Pool http://avalon.apache.org/components/components/threads.html
crimson/ Crimson is a Java XML parser http://xml.apache.org/crimson/
crossdb/ provide cross database tools for manipulating all major databases http://sourceforge.net/projects/crossdb/
cryptix/ an international volunteer effort to produce robust, open-source cryptographic software libraries http://www.cryptix.org/
dbunit/ JUnit extension targeted for database-driven projects http://dbunit.sourceforge.net/
dnsjava/ an implementation of DNS in Java http://sourceforge.net/projects/dnsjava/
dom4j/ the flexible XML framework for Java http://www.dom4j.org/
drools/ augmented implementation of Forgy's Rete algorithm tailored for the object-oriented language of http://drools.org/
dtdparser/ DTD parsers for Java http://www.wutka.com/dtdparser.html
easymock/ a Java library that provides an easy way to use Mock Objects in unit testing with JUnit. http://sourceforge.net/projects/easymock
eclipse/ a kind of universal tool platform http://www.eclipse.org/
ecs/ enerating elements for various markup languages it directly supports HTML 4.0 and XML http://jakarta.apache.org/ecs/index.html
edenlib/ collection of Java libraries http://edenlib.sourceforge.net/
edtftp/ an entire FTP client library written in Java http://www.enterprisedt.com/downloads/ftp.html
ejb/ enterprise java bean http://java.sun.com/
excalibur/ contains a set of utilitiy projects used in the development of container facilities http://avalon.apache.org/excalibur/index.html
exist/ Open Source XML Database http://exist-db.org/
exml/ a simple, fast and comprehensive Java toolkit for parsing and manipulating XML documents http://www.themindelectric.com/products/
exolabcore/ informal organization working on the development of Open Source enterprise software projects http://www.exolab.org/
exteca/ an ontology-based technology written in Java for high-quality knowledge management and document categorisation http://sourceforge.net/projects/exteca
fastutil/ Small, fast type-specific maps, sets, and lists for Java http://fastutil.dsi.unimi.it/
fesi/ Free EcmaScript Interpreter http://www.lugrin.ch/fesi/javalib.html
findbugs/ A Bug Pattern Detector for Java http://www.cs.umd.edu/~pugh/java/bugs/
flux/ Servlet based framework http://jakarta.apache.org/turbine/
fop/ Formatting Objects Processor http://xml.apache.org/fop/
forehead/ a very small framework to assist in controlling the run-time ClassLoader hierarchy of Java applications http://forehead.werken.com/index.html
formproc/ Web Form Proccesing and Validation http://formproc.sourceforge.net/
foxtrot/ small but powerful framework for using threads with the JavaTM Foundation Classes http://foxtrot.sourceforge.net/
freebxml/ an initiative that aims to foster the development and adoption of ebXML http://www.freebxml.org/
freemarker/ is a "template engine"; a generic tool to generate text output (anything from HTML or RTF to autogenerated source code) based on templates http://freemarker.sourceforge.net/
fulcrum/ uses a proprietary concept of code templates that can be used as "building blocks" to construct efficient Java objects and applications http://www.acceltree.com/products.htm
genjar/ a specialized Ant task that builds jar files based on class dependencies http://sourceforge.net/projects/genjar/
geronimo-spec/ Apache's J2EE project http://www.apache.org/~jstrachan/geronimo/
gnu-regexp/ Regular Expressions for Java http://www.cacas.org/java/gnu/regexp/
graphlayout/ provides a hands-on way to visualize networks of interrelated information http://www.touchgraph.com/index.html
groovy/ Java Genetic Programming http://jgprog.sourceforge.net/
gsbase/ A collection of useful Java classes http://sourceforge.net/projects/genjar/
hessian/ binary web service protocol http://www.caucho.com/hessian/
hibernate/ powerful, ultra-high performance object/relational persistence and query service for Java http://www.hibernate.org/
hsqldb/ a relational database engine written in Java http://sourceforge.net/projects/hsqldb
httpunit/ a Java library for the automatic stimulation and testing of web applications http://sourceforge.net/projects/httpunit
isorelax/ Regular Language description for XML in java http://iso-relax.sourceforge.net/
itext/ generate documents in the Portable Document Format (PDF) and/or HTML. http://sourceforge.net/projects/itext
jacl/ a Tcl implementation in Java http://www.scriptics.com/java
jalopy/ source code formatter for the Sun Java programming language http://jalopy.sourceforge.net/
james/ Java Apache Mail Enterprise Server http://james.apache.org/
jarsync/ a Java implementation of the rsync algorithm http://jarsync.sourceforge.net/
java2html/ java library which converts any given Java component and subcomponent tree into its HTML representation http://sourceforge.net/projects/java2html
javacc/ is a parser/scanner generator for java https://javacc.dev.java.net/
javagroups/ Reliable group communication based on IP multicast and configurable protocol stack http://sourceforge.net/projects/javagroups
javahelp/ a full-featured, platform-independent, extensible help system http://java.sun.com/products/javahelp/
javassist/ (Java Programming Assistant) makes Java bytecode manipulation simple http://www.csg.is.titech.ac.jp/~chiba/javassist/
jaxen/ XPath engine written in Java http://sourceforge.net/projects/jaxen
jaxm/ XML Messaging (JAXM) Optional Package http://java.sun.com/xml/jaxm/
jaxp/ XML Processing http://java.sun.com/xml/jaxp/
jaxrpc/ XML-Based RPC http://java.sun.com/xml/jaxrpc/
jboss/ open source application server http://www.jboss.org/
jca/ J2EE Connector http://java.sun.com/j2ee/connector/
jce/ Java Cryptography Extension http://java.sun.com/products/jce/index.html
jcifs/ Common Internet File System (CIFS) for java http://jcifs.samba.org/
jcommon/ a collection of useful classes used by JFreeChart, JFreeReport and other projects http://www.jfree.org/jcommon/
jcoverage/ gives you the ability to write simple unit-tests for abstract classes (such as EJB 2.0 bean classes), http://jcoverage.com/
jcs/ a distributed caching system written in java for server-side java applications http://jakarta.apache.org/turbine/jcs/
jcvsii/ a CVS client application http://www.ice.com/java/jcvs/
jdbc/ provides cross-DBMS connectivity to a wide range of SQL databases http://java.sun.com/products/jdbc/index.html
jdbm/ a transactional persistence engine for Java http://jdbm.sourceforge.net/
jdepend/ traverses Java class file directories and generates design quality metrics for each Java package http://www.clarkware.com/software/JDepend.html
jdiff/ Javadoc doclet which emits an HTML report of all the packages and so on ,whhich are different (the "diff" part) when two Java APIs are compared http://sourceforge.net/projects/javadiff/
jdom/ Java-based solution for accessing, manipulating, and outputting XML data http://www.jdom.org/
jdring/ Java Alarm Scheduler http://webtools.dyade.fr/jdring/
jetty/ java weber server http://www.sourceforge.net/projects/jetty
jfreechart/ a class library, written in Java, for generating charts http://sourceforge.net/projects/jfreechart
jgen/ Code Generator http://www.etnasoft.com/jgen_introduction.html
jgraph/ the most powerful, lightweight, feature-rich, and thoroughly documented open-source graph component available for Java. http://sourceforge.net/projects/jgraph
jisp/ java indexed serialization package http://www.coyotegulch.com/jisp/index.html
jms/ Java Message Service http://java.sun.com/products/jms/
jndi/ Java Naming and Directory Interface http://java.sun.com/products/jndi/
jsch/ Java Secure Channel http://www.jcraft.com/jsch/
jsse/ Java Secure Socket Extension http://java.sun.com/products/jsse/
jstl/ JavaServer Pages Standard Tag Library http://java.sun.com/products/jsp/jstl/
jstyle/ is an automated Java code review tool http://www.mmsindia.com/jstyle.html
jta/ Java Transaction API Specification http://java.sun.com/products/jta/
jtidy/ a Java port of HTML Tidy, a HTML syntax checker and pretty printer http://sourceforge.net/projects/jtidy
junit-doclet/ JUnitDoclet http://www.junitdoclet.org/
junit/ java unit test http://www.junit.org/
junitperf/ java performance unit test http://www.clarkware.com/software/JUnitPerf.html
jwebunit/ a Java framework that facilitates creation of acceptance tests for web applications http://jwebunit.sourceforge.net/
jython/ an implementation of the high-level, dynamic, object-oriented language Python in java http://jython.sourceforge.net/
kxml/ kvm java xml parser http://kxml.enhydra.org/
kxml2/ kvm java xml parser http://kxml.enhydra.org/
ldapd-common/ LDAPd will be a pure Java LDAP v3 protocol http://ldapd.sourceforge.net/modules/ldapd-common/
ldapsdk/ Netscape Directory SDK for Java http://www.mozilla.org/directory/javasdk.html
log4j/ Inserting log statements into your code http://jakarta.apache.org/log4j/docs/index.html
logkit/ log api http://avalon.apache.org/
lucene/ high-performance, full-featured text search engine written entirely in Java http://jakarta.apache.org/lucene/docs/index.html
maven/ Java project management and project comprehension tool http://maven.apache.org/
maxq/ a web functional testing tool http://maxq.tigris.org/
mckoi/ Mckoi SQL Database written entirely in Java. http://mckoi.com/database/
merlin/ erlin is an advanced component and service management solution that simplifies and enhances component development http://avalon.apache.org/
com.mysql/ mysql jdbc driver http://www.mysql.com/products/connector-j/index.html
mockcreator/ Java Mock Generator http://mockcreator.sourceforge.net/
mockobjects/ a test-first development process for building object-oriented software http://wiki.truemesh.com/mockobjects
msv/ Multi-Schema XML Validator https://msv.dev.java.net/
mule/ a simple yet robust and highly scalable component broker and services framework http://www.cubis.co.uk/mule/
mx4j/ Open Source implementation for the JMXTM technology http://mx4j.sourceforge.net/
mysql/ mysql jdbc driver http://www.mysql.com/products/connector-j/index.html
nanning/ Aspect Frameworks http://nanning.snipsnap.org/space/Nanning
nekohtml/ html parser http://www.apache.org/~andyc/neko/doc/html/
netbeans/ an ide development tool http://www.netbeans.org/
nsuml/ Novosoft metadata framework and uml library http://nsuml.sourceforge.net/
odmg/ Object Data Management Group http://www.odmg.org/
ognl/ Object-Graph Navigation Language http://www.ognl.org/
ojb/ an Object/Relational mapping tool http://db.apache.org/ojb/
openim/ OpenIM Java Jabber Server http://javajabber.net/en/
openjms/ Open Source implementation of Java Message Service Specification http://sourceforge.net/projects/openjms
opensymphony/ Open Source project dedicated to providing enterprise class J2EE applications and components http://sourceforge.net/projects/opensymphony
oro/ a set of text-processing Java classes that provide Perl5 compatible regular expressions http://jakarta.apache.org/oro/
p6spy/ an open source framework for applications that intercept and optionally modify database statements http://www.p6spy.com/
patterntesting/ A new type of automated testing that ensures that development patterns, best practices, architecture design are being correctly implemented http://sourceforge.net/projects/patterntesting
petridish/ workflow systems. http://petridish.werken.com/
piccolo/ is a small, extremely fast XML parser for Java http://piccolo.sourceforge.net/
plexus/ Decouples the behaviour of service from the point in time at which service implementations are configured into an application or system http://plexus.codehaus.org/index.html
pluto-container/ is the Reference Implementation of the Java Portlet Specfication http://jakarta.apache.org/pluto/
pmd/ a Java source code analyzer. http://sourceforge.net/projects/pmd
poi/ Java API To Access Microsoft Format Files http://jakarta.apache.org/poi/index.html
postgresql/ PostgreSQL JDBC Drivers http://jdbc.postgresql.org/
prevayler/ fastest, simplest and most transparent business object persistence, ACID transaction, fault-tolerance, replication and load-balancing architecture http://www.prevayler.org/wiki.jsp
profiler/ an enterprise level all-in-one Java profiler http://www.ej-technologies.com/products/jprofiler/overview.html
pull-parser/ XML Pull Parser http://www.extreme.indiana.edu/xgws/xsoap/xpp/
qdox/ a high speed, small footprint parser for extracting class/interface/method definitions from source files complete with JavaDoc @tags. http://qdox.codehaus.org/
quartz/ Symbian Quartz SDK for Java http://www.symbian.com/developer/techlib/Qdocs/java/navigationpages/SDK_start.html
redhill/ Similarity Analyser) http://www.redhillconsulting.com.au/products/simian/
regexp/ Java Regular Expression package http://jakarta.apache.org/regexp/
relaxngDatatype/ public space for test cases and other ancillary software related to the construction of the RELAX NG language and its implementations. http://sourceforge.net/projects/relaxng
rhino/ open-source implementation of JavaScript written entirely in Java http://www.mozilla.org/rhino/
saaj/ Attachments API for Java http://java.sun.com/xml/saaj/
sax/ Simple API for XML http://www.saxproject.org/
saxon/ The XSLT and XQuery Processor http://saxon.sourceforge.net/
saxpath/ Java API for XPath parsing http://saxpath.org/
servletapi/ servlet api http://java.sun.com/products/servlet/
skaringa/ a framework for Java and XML language binding http://skaringa.sourceforge.net/
skinlf/ Skin Look And Feel http://www.l2fprod.com/
soap/ WebServices http://ws.apache.org/soap/
sshtools/ a suite of Java SSH applications providing a Java SSH API, SSH Terminal, SSH secured VNC client, SFTP client and SSH Daemon http://sourceforge.net/projects/sshtools/
statcvs/ CVS Repository statistic analysis tool http://statcvs.sourceforge.net/
stratum/ Java Caching System http://jakarta.apache.org/turbine/stratum/JavaCachingSystem.html
struts-menu/ Struts Plugin that allows creation of many different menu systems from an XML file. http://struts-menu.sourceforge.net/
struts/ web development framework http://jakarta.apache.org/struts/index.html
strutstestcase/ an extension of the JUnit TestCase class that allows testing of individual Action objects with or without a running servlet engine http://sourceforge.net/projects/strutstestcase
stxx/ Struts for Transforming XML with XSL http://stxx.sourceforge.net/
suiterunner/ A Tool for Conformance and Unit Testing for Java APIs http://www.artima.com/suiterunner/
swt/ The Standard Widget Toolkit http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.html
sysunit/ JUnit framework for distributed unit testing http://sysunit.sourceforge.net/
tablelayout/ An Alternative to GridBagLayout http://java.sun.com/products/jfc/tsc/articles/tablelayout/
taglibs/ an open-source repository for JSP custom tag libraries http://jakarta.apache.org/taglibs/index.html
tambora/ considered an enterprise class papiNet enabler http://tambora.zenplex.org/index.html
tapestry/ a powerful, open-source, all-Java framework for creating leading edge web applications in Java. http://jakarta.apache.org/tapestry/index.html
thaiopensource/ a schema language for XML, based on TREX and RELAX. http://www.thaiopensource.com/
tjdo/ an open source implementation of Sun's JDO specification http://tjdo.sourceforge.net/
tomcat-util/ tomcat util package http://jakarta.apache.org/tomcat
tomcat/ web server http://jakarta.apache.org/tomcat
torque/ a persistence layer http://db.apache.org/torque/
touchstone/ A certifying compiler for Java http://raw.cs.berkeley.edu/touchstone.html
turbine/ servlet based framework http://jakarta.apache.org/turbine/index.html
tyrex/ the missing piece in the J2EE puzzle, a J2EE service provider for both Servlet and EJB container http://tyrex.sourceforge.net/
urbanophile/ Java command line option parser http://www.urbanophile.com/arenn/hacking/download.html
vdoclet/ a code-generation framework http://sourceforge.net/projects/vdoclet
velocity/ a Java-based template engine http://jakarta.apache.org/velocity/
velocity-tools/ collection of Velocity subprojects with a common goal of creating tools and infrastructure for building both web and non-web applications using the Velocity template engine. http://jakarta.apache.org/velocity/tools/index.html
village/ a 100% Pure Java API that sits on top of the JDBC API http://www.working-dogs.com/village/
webmacro/ 100% Java open-source template language http://www.webmacro.org/
webtest/ free open source tool for automated testing of web applications. http://webtest.canoo.com/webtest/manual/WebTestHome.html
webwork/ an Open Source project dedicated to providing enterprise class J2EE applications and components http://sourceforge.net/projects/opensymphony
werken-xpath/ XPath-Rec implementation for DOM4J http://sourceforge.net/projects/werken-xpath/
werkflow/ a Java workflow engine built against the blissed state-machine framework and the drools RETE-based rules engine. http://werkflow.codehaus.org/
werkz/ a lightweight framework for goal-oriented processes http://sourceforge.net/projects/werkz
which/ simple environment checking utility for Apache projects http://xml.apache.org/commons/components/which/index.html
wrapper/ Java Service Wrapper http://wrapper.tanukisoftware.org/doc/english/index.html
wsdl4j/ Web Services Description Language for Java Toolkit http://www-124.ibm.com/developerworks/projects/wsdl4j/
xalan/ an XSLT processor for transforming XML documents into HTML, text, or other XML document types http://xml.apache.org/xalan-j/index.html
xdoclet/ a code generation framework http://www.sourceforge.net/projects/xdoclet
xerces/ the next generation of high performance, fully compliant XML parsers http://xml.apache.org/xerces2-j/index.html
xercesjarv/ JARV driver for Xerces-2 http://www.kohsuke.org/jarv/xerces/
xml-apis/ xml-apis http://lsd.student.utwente.nl/gump/xml-commons/xml-apis.html
xml-security/ aimed at providing implementation of security standards for XML http://xml.apache.org/security/index.html
xmlbeans/ is a tool that allows you to access the full power of XML in a Java friendly way http://xml.apache.org/xmlbeans/
xmldb/ Initiative for XML Databases http://www.xmldb.org/
xmlenc/ fast stream-based XML output library for Java http://xmlenc.sourceforge.net/
xmlpull/ Common API for XML Pull Parsing http://www.xmlpull.org/
xmlrpc-helma/ XML-RPC http://xmlrpc.helma.org/
xmlrpc/ a Java implementation of XML-RPC http://ws.apache.org/xmlrpc/
xmlunit/ JUnit and NUnit testing for XML http://xmlunit.sourceforge.net/
xmtp/ A rapidly transformable and portable , XML complients mail transfer protocol - Based on XML, SMTP, & Java http://www.openhealth.org/xmtp/
xom/ a new XML object model http://www.cafeconleche.org/XOM/
xpp3/ XML Pull Parser http://www.extreme.indiana.edu/xgws/xsoap/xpp/
xsdlib/ Sun XML Datatypes Library http://wwws.sun.com/software/xml/developers/xsdlib/
来自QLinux知识宝库
现蝲Q?/FONT>http://www.douzhe.com/linuxtips/1493.html
地址Q无?BR>
最q项目用cvs理Q研I了(jin)一D|_(d)参考了(jin)几个文Qȝ如下
CVS完全手册
==========================================================================
He Wehzhu, kerlion@netease.com, created at 2003-11-5
updated at 2003-11-12
版权声明Q可以Q意{载,转蝲时请务必标明原始出处和作者信?BR>==========================================================================
内容
概述
CVS环境讄
dCVS服务器:(x)
cvs命o(h)格式
CVS的日怋?BR>其他常用命o(h)
CVS?keyword
CVS分支理
CVS服务器的安装和配|?BR>Watchers
WinCVS的安装和配置
CVSWEB的安?BR>
概述
==================================
CVS是一个ƈ行版本控制系l,它采用C/S模式Q它的复杂度和功能性属于中{,是当今最行的版本控制系l。它有两个基本的特点Q?BR>*保存修改记录Q保存了(jin)所有文件的修改历史Qƈ可以建立分支
*协作与ƈ行:(x)cvs不推荐用lock-modify-unlock的串行的工作模式Q而采用多人可以ƈ行地修改同一个文Ӟ而在提交时merge conflictQ它更适合于大型的工作团体?BR>使用CVS的好处:(x)
*文g集中理Q大安可以方便的看到所有h员的最新文?规范化了(jin)文g的管?BR>*可以查看以前M的一个版本或修改历史
*可以同时l护多个版本和分?BR>
CVS环境讄
==================================
先不要管CVS服务器的配置Q我们先假设已经有一台配|好的服务器Q要讉KCVSQ必需先设|环境变量CVSROOT
CVSROOT=:pserver:user@server#port:/path/to/cvsroot
*pserver是访问方式,口o(h)认证的意思,q是最常用的方式,其他q有gserver,kserver,ext
*user是CVS服务器的用户名,
*server是CVS服务器的名称或者IP地址
*/path/to/cvsroot是你的CVS服务器的CVSROOT目录Q根据你的CVS服务器设|做修改或者询问管理员
你可以把讄攑ֈ你的shell的profile里(.bash_profileQ?profile{)(j)q样׃用每ơ敲一长串命o(h)?BR>
高功能Q现在比较流行是使用ssh来加密口令和数据?BR>CVSROOT=:ext:user@server#port:/path/to/cvsroot
CVS_RSH=ssh
hints:
实际上没有CVSROOT也可以,你可以每ơ用cvs -d :pserver:user@server#port:/path/to/cvsroot来访问,而且它将忽略CVSROOT环境变量Q也怽?x)笑我只有疯子才q么用,不过Qcvs可以把每ơ用的命o(h)参数攑ֈ一个文件中Q所以在~/.cvsrc中加?BR>cvs -d :pserver:user@server#port:/path/to/cvsroot
卛_Q它最大的好处是修改了(jin)立刻生效Q而且它的优先U高于CVSROOT环境变量Q到时候不要傻乎乎地来问我Q我的环境变量真么不起作用了(jin)?BR>
dCVS服务器:(x)
==================================
$cvs loginQ这时候cvs?x)问你口令,h你在CVS服务器上的口令敲q去
如果没有M错误信息Q恭喜你Q成功了(jin)Q?BR>成功d后将建立一个~/.cvspass文gQ保存你的口令,以后׃用输入口令了(jin)Q?BR>
cvs命o(h)格式
==================================
cvs [global_opts] command [command_opts] [command_args]
Global options 属于左边cvs的,是全局?BR>command_opts 属于左边command的,是局部的
cvs --help-commands查看命o(h)列表
cvs -H command/cvs -help command 查看该命令的选项
hints:如果你每ơ用一些命令都带同L(fng)参数的话Q可以把它们攑ֈ~/.cvsrc文g中去
update -c
diff -c
add -kb
cvs -Q
cvs global-option comand comand-option arguments
CVS的日怋?BR>==================================
CVS使用程
a checkout 当本地没有working copy时?BR>b staus (g)查服务器上是否有新版?BR>c update 如果?则用update同步文g
d 做你自己的修改,q保证正?BR>e update 看是否有Z改了(jin)你的文g
f 如果有冲H,合ƈ冲突
g commit 提交你的修改Q如果因为又有h提交修改而失败,回到e?BR>h 回到b?BR>
1 cvs checkout module_name
-------------------------------------
module_name可以暂时理解为目录名Q它?x)在本地但前目录下徏立module_name目录Q在把服务器上说有module_name目录下的文gcopy到本地module_name目录下?BR>注意Q第一ơcheckout后,׃是通过cvs checkout来同步文件了(jin)Q而是要进入该目录下进行具体文件的版本同步Q添加,修改Q删除)(j)操作?BR>
2 cvs update filename
-------------------------------------
文件同步到最新的版本Q不指定文g名,cvs同步所有子目录下的文g?BR>最好每天开始工作前或将自己的工作导入到CVS库里前都要做一ơ,q养?先同?后修?的习(fn)惯,和Virvual SourceSafe不同QCVS里没有文仉定的概念Q所有的冲突是在commit之前解决Q如果你修改q程中,有其他h修改qcommitC(jin)CVS 库中QCVS?x)通知你文件冲H?BR><<<<<<< filename
你文件上的内?BR>=======
服务器上文g的内?BR>>>>>>>> latest revision number in the repository
׃认冲突内容的取舍。也可以多h协商解决Q修改完成后L文g中的冲突标志
conflict:多h修改同一文g的同一区域q就叫冲H,它必ȝ人来解决QCVS不处理冲H,它只是告诉你存才冲突
3 cvs commit -m "write some comments here" file_name
------------------------------------
认修改写入到CVS库里?BR>注意QCVS的很多动作都是通过cvs commitq行最后确认ƈ修改的,最好每ơ只修改一个文件。在认的前Q还需要用户填写修Ҏ(gu)释,以帮助其他开发h员了(jin)解修改的原因。如果不用写-m "comments"而直接确认`cvs commit file_name` 的话Qcvs?x)自动调用系l缺省的文字~辑?一般是vi)要求你写入注释?BR>注释的质量很重要Q所以不仅必要写,而且必须写一些比较有意义的内容:(x)以方便其他开发h员能够很好的理解
不好的注释,很难让其他的开发h员快速的理解Q比如:(x) -m "bug fixed" 甚至 -m ""
好的注释Q甚臛_以用中文: -m "在用h册过E中加入?jin)Email地址校验"
修改某个版本注释Q每ơ只认一个文件到CVS库里是一个很好的?fn)惯Q但隑օ有时候忘?jin)指定文件名Q把多个文g以同h释commit到CVS库里?jin),以下命o(h)可以允许你修Ҏ(gu)个文件某个版本的注释Q?BR>cvs admin -m 1.3:"write some comments here" file_name
4 查看状?BR>------------------------------------
cvs status filename
状态报告,cMq样Q
File: foo.c Status: Up-to-date
Working revision: 1.1.1.1 'Some Date'
Repository revision: 1.2 /home/cvsroot/cvstest/foo.c,v
Sticky Tag: (none)
Sticky Date: (none)
Sticky Options: (none)
q里最重要的就是Status栏,q里d可能有四U状态:(x)
Up-to-dateQ?表明你要到的文g是最新的Q
Locally ModifiedQ?表明你曾l修改过该文Ӟ但还没有提交Q你的版本比仓库里的斎ͼ
Needing PatchQ?表明有个哥们已经修改q该文gq且已经提交?jin)!你的版本比仓库里的旧Q
Needs MergeQ?表明你曾l修改该文gQ但是偏偏有个不识相的也修改?jin)这个文Ӟ而且q提交了(jin)!
5 查看修改历史和注释信?BR>------------------------------------
cvs log file_name
其他常用命o(h)
==================================
1 d文g和目?BR>------------------------------------
cvs add new_file_name
cvs add -kb new_file_name
cvs add dir_name
CVS一般只处理文本文gQ它?x)扩展keyword(?q{换行l束W?BR>对于囄QW(xu)ord文档{非U文本的目Q需要用cvs add -kb选项Q否则有可能出现文g被破坏的情况
然后认修改q注?BR>cvs ci -m "write some comments here" new_file_name
2 删除文g
------------------------------------
某个源文g物理删除?BR>cvs remove file_name
然后认修改q注?BR>cvs ci -m "write some comments here" file_name
注意Q很多cvs命o(h)都有~写形式Qcommit=>ci; update=>up; checkout=>co; remove=>rm;
3.修改文g?BR>------------------------------------
Ud文gQ文仉命名
cvs里没有cvs move或cvs renameQ因两个操作是先cvs remove old_file_nameQ然后cvs add new_file_name实现的?BR>
4 目录l构同步
------------------------------------
如果在你checkout后,有hd?jin)新的文件或目录Q你需要把他们取出?BR>cvs update -d
5 攑ּ本地的修?undo)
------------------------------------
如果修改来了(jin)本地文gQ不x交,想重新取新文?BR>cvs update -C filename
它会(x)先把你的本地文g改名
Q徏议大家把checkout的文件缺省ؓ(f)readonly,?cvs -r"d到~/.cvsrc文g?BR>q样Q你每次修改一个文件前Q先cvs edit filename,提交后文件又变成readonly,
如果你想攑ּ本地的修改,则cvs unedit filename,它会(x)undo,而且文g又变成readonly
6 恢复到旧版本
------------------------------------
cvs update -j1.20 -j1.15 filenames
1.20时当前版本号Q注意顺序不要反?jin),C要commit,Z(jin)保证是但前版本号Q最好先lock
注意Qcvs update -r1.15 file.nameQ这里的-r不是版本L(fng)意思,是给文g加了(jin)一个叫1.15的sticky tag
如果不小?j)已l加成STICK TAG的话Q用cvs update -A 解决
7 文g比较
------------------------------------
cvs diff -c filename
cvs diff -c -r1.8 -r 1.5 filename
8 锁定与解锁文?BR>------------------------------------
Z证串行的修改文gQ或修改?BR>cvs admin -l files
cvs admin -u files
==========================================================================
如果你只是一般性的使用cvsQ到此ؓ(f)止就_?jin)。一个系l?0%的功能往往能够满80%的需求,CVS也不例外Q以下是CVS最常用的功能,可能用到的还不到它全部命令选项?0%Q更多的功能请在实际应用q程中体?x),学?fn)q程中应该是用多,学多,用到?jin)再学也不迟?BR>==========================================================================
CVS?keyword
==================================
CVS~省?x)对文gq行keyword(?替换,在文件中加入q些关键字是个良好的工作?fn)?BR>$Id$ 关键字是用文件名、版本、时间、作??qing)代码性质替换Q如果?l选项取出Q在Exp?BR>面会(x)加上d用户的名U。除?Id$关键字,RCSq支持下面常用的关键字:(x)
$Log$ : 你所提供的修Ҏ(gu)志信息?BR>$Author$ Q存入该版本的作者?BR>$Locker$ : 该版本的加锁?BR>$State$ : 该版本的状?ExpQ试验版Q? StabeQ稳定版Q? RelQ发行版Q?~省是Exp
$Date$ : 该版本存入的旉Q用UTC旉格式?BR>$Revision$ : 该版本的版本?BR>$RCSfile$ : RCS文g?BR>$Source$ : RCS全\径名
$Name$ : 取回该版本的W号?BR>$Header$ : 相当? Source $$ Revision$$Date$$Author $$State$$Locker$的组?BR>
Sticky Tag
==================================
tag的作用是对多个连l变化的文g做一个快照来表示某一时刻的所有不停内部版本的文gQ一般是目C定阶D,可以l所有文件统一指定一个阶D里E碑版本?需要的时候可以一ơ导?gu)些版本不一的文?标记的另外一个非帔R要的作用是生成分支和合ƈ分支.
1 cvs tag release_name module_name
------------------------------------
release_name要简z而含义丰富,由字母开_(d)加字母,数字Q下划线和连字号l成Q特别是不能含??BR>2 cvs checkout -r release_name module_name
------------------------------------
取出tag_name标志的文?BR>3 cvs update -A
------------------------------------
tag标识的文件是历史文gQ不能修改,q样可在本地去除q个限制Q让它和当前版本合ƈ
CVS分支理
=============================
CVS可以历史划分成多个独立Qƈ行和互不影响的分支,q去修改历史
1 标定里程?BR>------------------------------------
cvs tag release_1_0 prj_dir_name
2 开始一个新的里E碑Q?BR>------------------------------------
cvs commit -r 2
标记所有文件开始进?.x的开?BR>注意QCVS里的revsion和Y件包的发布版本可以没有直接的关系。但所有文件用和发布版本一致的版本h较有助于l护?BR>
3 建立分支
------------------------------------
在开发项目的2.x版本的时候发?.x有问题,?.x又不敢用Q则从先前标记的里程:(x)release_1_0导出一个分支release_1_0_b2
cvs rtag -b -r release_1_0 release_1_0_bugfixes prj_dir_name
-r修饰的是release_1_0,-b 修饰的是release_1_0_bugfixesQcvs的版本号变?位,以后每分一ơ支Q版本号增加2?BR>
4 分支q行开?BR>------------------------------------
一些h先在另外一个目录下导出release_1_0_bugfixesq个分支Q解?.0中的紧急问题,
cvs checkout -r release_1_0_bugfixes
分支是可以修改的Qƈ自动提交到分支上?BR>而其他h员仍旧在目的主q分?.x上开?BR>
5 tag分支
------------------------------------
在release_1_0_bugfixes上修正错误后Q标C?.0的错误修正版本号
cvs tag release_1_0_bugfixes_p1
6 合ƈ分支
------------------------------------
如果2.0认ؓ(f)q些错误修改?.0里也需要,也可以在2.0的开发目录下合ƈrelease_1_0_patch_1中的修改到当前代码中Q?BR>cvs update -j release_1_0_bugfixes
7 再次合ƈ分支
------------------------------------
如果又发?.x新的bug,我在分支已经修改?jin),q标定了(jin)release_1_0_patch_2,我们同样希望把它合ƈCq上?BR>cvs update -j release_1_0_bugfixes_p1 -j release_1_0_bugfixes
它的意思是把release_1_0_bugfixes_p1(tag)到release_1_0_bugfixes(分支)变化?jin)的部分合ƈ到当前文?d)
否则?步的Ҏ(gu)Q则以前合ƈ的内容会(x)重新合ƈ
注意Q此时我们用第5步的l果
教训Q尽早频J的tag,但同时不能导致tag泛滥Qtag在不同的分支里可以同?BR>
8 锁定分支
------------------------------------
cvs admin -l r_0_2 锁定r_0_2分支
cvs admin -l 锁定d?BR>
9 讄~省分支
------------------------------------
cvs admin -b r_0_2 讑֮r_0_2为缺省分?BR>cvs admin -b 讑֮d?BR>
10 删除历史记录
如果历史文gq多Q或定有几个阶D늚E_版本Q我们可以删除一些历史文Ӟ以保证cvs的性能
cvs admin -o rev1:rev2 filename 删除rev1到rev2的版本,含这两个版本
cvs admin -o rev1::rev2 filename 删除rev1到rev2的版本,不含q两个版?BR>如果省略rev1,表示删除本分支rev2之前的所有版?BR>如果省略rev2,表示删除本分支rev1之后的所有版?BR>cvs admin -o rev filename 删除revq个版本的文?BR>注意Q有tag的版本不能被删除Q所以tag很重要,而且只能删单个文?BR>
CVS服务器的安装和配|?BR>=============================
1 下蝲源码
------------------------------------
可从很多地方下蝲cvs,也可从官方ftp://ftp.gnu.org/gnu/cvs/下蝲
2 安装Q同很多源码安装一?BR>------------------------------------
gunzip cvs-1.10.6.tar.gz
tar xvf cvs-1.10.6.tar
cd cvs-1.10.6
./configure
make
make install
3 包的安装Q如果找到具体操作系l的安装包,则见此操作系l的使用说明Q比如linux?BR>------------------------------------
rpm -ivh cvs-1.10.8-3.i386.rpm卛_
4 建立Repository
------------------------------------
groupadd cvs(要访问cvs的用户加入此l?
useradd cvsroot
mkdir /home/cvsroot
cvs -d /home/cvsroot init
chown -R cvsroot.cvs /home/cvsroot
chmod -R ug+rwx /homecvsroot
5 配置/etc/services文g
------------------------------------
dcvspserver,如果有就不要加了(jin)
cvspserver 2401/tcp # cvs client/server operations
cvspserver 2401/udp # cvs client/server operations
6 配置inetd
------------------------------------
~辑/etc/inetd.confQ加?BR>cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
如果使用tcpwrappers
cvspserver stream tcp nowait root /usr/sbin/tcpd /usr/bin/cvs --allow-root=/usr/local/newrepos pserver
如果使用xinetdQ编?etc/xinetd.d/cvspserver
service cvspserver
{
disable = no
socket_type = stream
wait = no
user = root
env = HOME=
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
}
pserver表示是口令认?如果要用ssh方式则应该是server
--allow-root是Repository的目录,可以有多个此选项来徏立多个Repository
7 验证配置成功
cvs login看时候能成功dQ有几个可能p|的地?BR>用户是否属于cvsl和目录权限
inetd是否正常配置和启动,--allow-root是否写对
8 导入目
把你的所有项目文件放入prj_dir
cd prj_dir
cvs import -m "this is a cvstest project" prj_dir v_0_0_1 start
v_0_0_1是这个分支的L讎ͼ没啥用(或曰不常用)(j)
start 是每?import 标识文g的输入层ơ的标记Q没啥用?BR>
Watchers
=============================
cvs提供?jin)watch的功能,来帮助大家了(jin)解谁在干什么,谁在Ҏ(gu)件做什么操作,它发email通知,以协调大家的工作?BR>1 开启watch功能
在CVSROOT/notify文g中加入下面行
ALL mail %s -s "CVS notification"
2 讑֮外部email地址
~省是把通知信息发给本机的email,要发l别的地址Q在CVSROOT/users加入如下内容
hwz:kerlion@netease.com
3 watch文g的修?BR>cvs watch add filename
cvs watch remove filename
4 watch文g的修?BR>watch功能是个大家协调的功能,大家必须按一个统一的工作流E来?如果不cvs editQcvs没有办法通知修改情况
cvs edit filename
修改文g
cvs unedit filename
5 提醒大家使用watch功能
cvs没有强制使用watch的功能,只有q个功能在用h交完后自动把文g变ؓ(f)只读的,再用cvs edit filename可以修改它?BR>cvs watch on
6 查看那h人再watch
cvs watchers
WinCVS的安装和配置
=============================
1、WinCVS介:(x)
WinCVS是CVS的一个客L(fng)软gQ它q行在Windows上,用来在Windows上登录CVS服务器,然后q行一些CVS相关的操作与理。由于当前很多的企业内部都采用Linux/Unix做服务器Q而用Windows做客L(fng)Q所以,W(xu)inCVS与CVS服务器配合用将l成最强有力的版本控制与管理的pȝ之一?BR>2、WinCVS的下载与安装Q?BR>最新的WinCVS可以从http://sourceforge.net/project/showfiles.php?group_id=10072地址下蝲刎ͼ也可以在http://sourceforge.net/project 上下载到最新的或其它版本的WinCVS?BR>下蝲到相应的版本后根据向D行安装,已经要用CVS的用P安装q个WinCVS应该没什么问题吧Q?BR>3、配|WinCVSQ?BR>a、Admin->Preferences?general
CVSROOT 按cvsroot格式填写
AuthenticationQ用来配|cvs服务器的认证方式一般只要选择默认的pserver方式可?BR>要注意的是必Mcvs服务器配|时所指定的认证方式一?BR>如果要用ssh server,认在windows中安装了(jin)openssl,openssh
a、Admin->Preferences?Globals
此项的配|主要是要注意这几选项Q?BR>Checkout read-onlyQ默认是选中?不要修改Q只是修Ҏ(gu)件前需要先edit selection,提交后又自动变ؓ(f)只读
q样有两个好处:(x)
一个是可以通过unedit selection来undo你做的修?BR>二是可以W合watch功能的用规?BR>Prune empty directories: 不要选上Q否则,?x)自动删除空目录Q?BR>4、登录服务器Q?BR>选择Admin->loginQ将出现如下对话框要求用戯入登录口?BR>wincvs中命令的exit code 0表示正确执行,否则是失败,一般成功显CZؓ(f)
*****CVS exited normally with code 0*****
5、winCVS的用都有菜单,大家熟?zhn)cvs的用的话,用v来是很容易的,我就不多说了(jin)
CVSWEB的安?BR>=============================
CVSWEB是CVS的WEB界面Q可以大大提高程序员定位修改的效?
使用的样例可以看Qhttp://www.freebsd.org/cgi/cvsweb.cgi
CVSWEB的下载:(x)CVSWEB从最初的版本已经演化出很多功能界面更丰富的版本,q个是个人感觉觉得安装设|比较方便的Q?BR>http://www.spaghetti-code.de/software/linux/cvsweb/
1 下蝲解包Q?BR>tar zxf cvsweb.tgz
2 把配|文件cvsweb.conf复制到apache的配|目录下
cp cvsweb.conf /path/to/apache/conf
转到/path/to/apache/conf下ƈ修改cvsweb.confQ?BR>修改CVSROOT路径讄Q?BR>%CVSROOT = (
'Development' => '/path/to/cvsroot/dev', #<==修改指向本地的CVSROOT
'test' => '/path/to/cvsroot/test', #<==修改指向本地的CVSROOT
);
如果有多个cvsroot,q定~省的cvsroot
$cvstreedefault = 'test';
3 其它个性化讄
cvsweb.confq有许多其它个性化讄Q常见的有这些变量:(x)
$logo 图标讄
$defaulttitle 标题设施
$address 理员email地址讄
$long_intro 介绍文字
$short_instruction 说明文字
4 把文件cvsweb.cgi复制到apache的cgi目录
cp cvsweb.cgi /path/to/apache/cgi-bin
转到/path/to/apache/cgi-bin修改cvsweb.cgi
修改cvsweb.cgi让CGI扑ֈ配置文gQ?BR>$config = $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';
5 中文支持
让cvsweb正确昄中文Q找到sub html_header($)函数Q?BR>然后?lt;html>?lt;title>之间插入一行,修改如下
<html>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>$title</title>
6 复制所有的gif,png文g到apache的icons目录
7 增加讉K控制
CVSWEB可不能随便开攄所有用P因此需要用WEB用户认证Q?BR>先生?passwd:
/path/to/apache/bin/htpasswd -c cvsweb.passwd user
修改httpd.conf: 增加
<Directory "/path/to/apache/cgi-bin/cvsweb/">
AuthName "CVS Authorization"
AuthType Basic
AuthUserFile /path/to/cvsweb.passwd
require valid-user
</Directory>
==========================================================================
CVS支持的的Ҏ(gu)变量:
$Id$
$Header$
$Author$
$Date$
$Revision$
提交之后,cvs?x)自动改变这些变量的取?
==========================================================================
==========================================================================
参考文档:(x)
CVS的常用命令速查手册QR东,chedong@bigfoot.com
CVS服务器与WinCVS的配|与使用Q吴炎溪QYanxi-Wu@21cn.com
CVS速成班,作者不?BR>cvs book,Karl Fogel,kfogel@red-bean.com
==========================================================================
刘湛 (jeru@163.net) 本文从五个方面对J2EEq行?jin)比较全面的介绍。从J2EE的概念说P到它的优势,到J2EE典型的四层模型,和它的框架结构,最后是J2EE十三U核?j)技术的一个简介。本文分门别cȝ对J2EE中的服务Q组Ӟ层次Q容器,API都做?jin)比较详l的介绍Q相信看完此文,读者会(x)对J2EE有一个更清晰的认识?/BLOCKQUOTE> |