JSPWiki relies on Apache code for many important functions, notably for file uploading (commons-fileupload), content indexing (Lucene), HTML element construction (ECS), HTTP client request and response processing (commons-httpclient), and XML request processing (XMLRPC). Apache is by far the single most prominent source of third-party JARs that JSPWiki uses. The complete list of Apache packages the JSPWiki runtime WAR includes is: Apache Log4J: log4j-1.2.14.jar Apache Lucene: lucene.jar, lucene-highlighter.jar Apache XML-RPC: xmlrpc.jar Jakarta Taglibs: jakarta-tablibs-standard-1.1.2.jar, jakarta-taglibs-jstl-1.1.2.jar Jakarta ECS: ecs.jar Commons Lang: commons-lang-2.3.jar Commons IO: commons-io-1.4.jar Commons HTTPClient: commons-httpclient-3.0.1.jar Commons FileUpload: commons-fileupload-1.2.1.jar Commons Codec: commons-codec-1.3.jar In addition to these libraries, unit and web unit tests use these Apache libraries: Jakarata Jasper JSP compiler: jasper-compiler-5.5.25.jar jasper-runtime-5.5.25.jar Xerces XML parser: xercesImpl-2.6.2.jar XMLCommons: xml-apis-1.0.b2.jar The JSPWiki project has also demonstrated synergy with Apache by working with helping to fix bugs in Apache software that affected JSPWiki. For example, a bug in Apache Tomcat's package naming restrictions code, which forbade loading of code with the package prefix org.apache.jsp* prevented JSPWiki from using its initial desired package name, org.apache.jspwiki. JSPWiki committer worked with the Tomcat dev team to fix the bug, which was fixed in Tomcat 6.0.19. Finally, the development team has developed JSPWiki 3.0 to use JSR-170 (Java Content Repository) back-ends for information storage. Although JSPWiki by necessity ships with a limited JCR implementation called Priha (developed by Janne Jalkanen), our intention is to ensure that JSPWiki 3.0 also works smoothly with Apache Jackrabbit.