Skip to main content

Difference b/w JAR,WAR & EAR

WAR (Web Archive) is a module that gets loaded into a Web container of a Java Application Server. A Java Application Server has two containers (runtime environments) - one is a Web container and the other is a EJB container.

The Web container hosts Web applications based on JSP or the Servlets API - designed specifically for web request handling - so more of a request/response style of distributed computing. A Web container requires the Web module to be packaged as a WAR file - that is a special JAR file with a web.xml file in the folderWEB-INF.

An EJB container hosts Enterprise java beans based on the EJB API designed to provide extended business functionality such as declarative transactions, declarative method level security, and multiprotocol support - so more of an RPC style of distributed computing. EJB containers require EJB modules to be packaged as JAR files - these have a ejb-jar.xml file in the META-INF folder.

Enterprise applications may consist of one or more modules that can either be Web modules (packaged as a WAR file) or EJB modules (packaged as a JAR file) or both of them. Enterprise applications are packaged as EAR files - these are special JAR files containing an application.xml file in the META-INF folder.

Basically, EAR files are a superset containing WAR files and JAR files. Java Application Servers allow deployment of standalone web modules in a WAR file, though internally they create EAR files as a wrapper around WAR files. Standalone web containers such as Tomcat and Jetty do not support EAR files - these are not full-fledged Application servers. Web applications in these containers are to be deployed as WAR files only.

In application servers - EAR files contain configurations such as application security role mapping, EJB reference mapping and context root URL mapping of web modules.

Apart from Web modules and EJB modules EAR files can also contain connector modules packaged as RAR files and Client modules packaged as JAR files.

Source: Stack Overflow

Popular posts from this blog

How to disable Apache Commons Logging statement in Our Java Application

In recent times, One of the java project applications is started printing apache-commons logs in the application logs. Turns out due to the changes in the migration process. The log4j.xml from the apache-commons is taken into account in the classpath due to that the application logs keep piling up and at some point of time the servers end up with no storage spaces, To disable the Apache commons logs from the Apache commons-logging module. Add the following parameter in the Java args during the server startup. -Dorg.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog

How to configure Custom Keystore & SSL in Oracle Weblogic 12c with WLST

In this post, we are going to see how to configure Custom keystore and SSL in Weblogic 12c through WLST. Before configuring ensure that your Weblogic server is up and running. Use the below script and run the script through WLST to configure Keystore and SSL ===== SCRIPT STARTS ============ // connect to Weblogic server. alter the ip-address and port as per your server configurations connect('admin', 'admin@123', t3://ip-address:port) edit() startEdit() // We are going to update the Keystore and SSL in AdminServer. Alter as per your needs cd('/Servers/' + 'AdminServer') cmo.setKeyStores('CustomIdentityAndCustomTrust') cmo.setCustomIdentityKeyStoreFileName('/path/to/keystore/jks/file') cmo.setCustomIdentityKeyStorePassPhrase('passphrase') cmo.setCustomIdentityKeyStoreType('JKS') cmo.setCustomTrustKeyStoreFileName('/path/to/keystore/jks/file') cmo.setCustomTrustKeyStorePassPhrase('pa

Uses of RLWRAP in SQL*Plus and How to Install RLWRAP in Centos 7

Everybody who works in Oracle Database knows how it's powerful but it also has its limitations.By installing the readline wrapper utility (rlwrap) we can able to use the "up arrow" and "down arrow" keys to display the command line history for all SQL*Plus commands and also it has the ability to edit the SQL*Plus commands. To install the rlwrap in the Centos Environment. Install rlwrap as a root user. Use the below commands to install rlwrap   wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm   rpm -Uvh epel-release-latest-7.noarch   yum install rlwrap HOW TO USE IT FOR SQL*Plus   rlwrap sqlplus / as sysdba Also, we can use rlwrap for other commands too