# WebLogic

## Introduction

Installing Orbeon Forms on WebLogic is only one of the possibilities. You can also install Orbeon Forms on other Servlet containers. You can also use Docker containers. See also:

* Docker
  * [Blog post](https://www.orbeon.com/2024/10/orbeon-forms-docker-images)
  * [Detailed documentation](/installation/docker.md)
* Servlet containers
  * [Tomcat](/installation/tomcat.md)
  * [WildFly](/installation/wildfly.md)
  * [WebSphere](/installation/websphere.md)
  * [GlassFish](/installation/glassfish.md)

## Installation notes

A version of the ANTLR library that ships with WebLogic 11g conflicts with the version required by Orbeon Forms. To run Orbeon Forms on WebLogic 10/11g, you need to instruct WebLogic to let Orbeon Forms use the version of ANTLR that ships with Orbeon Forms. You can do this in the WebLogic EAR descriptor, which means you need to encapsulate Orbeon Forms in an EAR before you deploy it:

1. Create the following directory structure in a temporary directory:

   ```
   orbeon-ear
       META-INF
           application.xml
           weblogic-application.xml
       orbeon
   ```

   Populate `application.xml` with:

   ```xml
   <?xml version="1.0"?>
   <j2ee:application xmlns:j2ee="http://java.sun.com/xml/ns/j2ee">
       <j2ee:display-name>Orbeon Forms</j2ee:display-name>
       <j2ee:module>
           <j2ee:web>
               <j2ee:web-uri>orbeon</j2ee:web-uri>
               <j2ee:context-root>/orbeon</j2ee:context-root>
           </j2ee:web>
       </j2ee:module>
   </j2ee:application>
   ```

   Populate `weblogic-application.xml` with:

   ```xml
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE weblogic-application PUBLIC
       "-//BEA Systems, Inc.//DTD WebLogic Application 8.1.0//EN"
       "http://www.bea.com/servers/wls810/dtd/weblogic-application_2_0.dtd">
   <weblogic-application>
       <prefer-application-packages>
           <package-name>antlr.*</package-name>
           <package-name>org.apache.commons.lang.*</package-name>
           <package-name>org.apache.commons.fileupload.*</package-name>
           <package-name>org.apache.lucene.*</package-name>
       </prefer-application-packages>
   </weblogic-application>
   ```
2. Uncompress the `orbeon.war` into the `orbeon-ear/orbeon` directory you created in step 1. After this, you should have a directory `orbeon-ear/orbeon/WEB-INF`.
3. Deploy the `orbeon-ear` directory. If you are running WebLogic in development mode, you can move it to `user_projects/domains/base_domain/autodeploy`.
4. Optionally, you might want to change where the `orbeon.log` is stored. You define the location of the file in `WEB-INF/resources/config/log4j.xml`, in the `SingleFileAppender`. By default the location of the file is defined as `../logs/orbeon.log`. If you start WebLogic with `user_projects/domains/base_domain/startWebLogic.sh`, the log will be located in `user_projects/domains/logs/orbeon.log`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://doc.orbeon.com/installation/weblogic.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
