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

Generate htpasswd in Linux / UNIX Using Command Line / Terminal

Generate htpasswd in Linux / UNIX Using Command Line / Terminal  Introduction htpasswd is used to create and update the flat-files used to store usernames and password for basic authentication of HTTP users.  htpasswd encrypts passwords in different methods.It encrypts using either bcrypt, a version of MD5 modified for Apache, SHA1, or the system's crypt() routine. Files managed by htpasswd may contain a mixture of different encoding types of passwords; some user records may have bcrypt or MD5-encrypted passwords while others in the same file may have passwords encrypted with crypt(). Create a new password file Creates a new file and stores a record in it for user naveen. The user is prompted for the password.  sudo htpasswd -c /opt/.htpasswd naveen Change or update password To add or modifies the password for user naveen, enter: sudo htpasswd /opt/.htpasswd-users naveen Adds or modifies the password for user naveen. The user is prompted