Table of Contents
ToggleIn this Post
We’ll be exploring how to use adcgnjar utility in detail step by step. Let’s explore…
adcgnjar
In Oracle EBS 12.2 a structured way to handle custom Java deployment has been introduced, adcgnjar is one of the key utilities in that flow of custom development.
If you work with OAF (Oracle Application Framework) customizations java classes placed under $JAVA_TOP this utility is used to pack and and sign them into customall.jar so the application tier can load them correctly without any issues.
adcgnjar is not just a jar-creation script. It is also part of the EBS maintenance model that keeps custom Java code aligned with the EBS architecture and makes deployments more convenient after patching or upgrades.
adcgnjar in action
There are series of steps that are to be followed when running the adcgnjar utility and the changes to take effect in the EBS system.
Login to EBS Server
Login into EBS instance as application OS user (applmgr) and source to “Run Edition”.
su – applmgr
cd /app/DEMO
ls -lrt
. EBSApps.env run
#cd /app/DEMO/ #ls -lrt total 16 drwxr-xr-x 5 applmgr oinstall 256 Jan 23 23:19 fs1 drwxr-xr-x 5 applmgr oinstall 256 Jan 23 23:19 fs2 drwxr-xr-x 4 applmgr oinstall 256 Jan 24 00:49 fs_ne -rw-r--r-- 1 applmgr oinstall 6465 Jan 29 17:29 EBSapps.env #. EBSapps.env run E-Business Suite Environment Information ---------------------------------------- RUN File System : /app/DEMO/fs1/EBSapps/appl PATCH File System : /app/DEMO/fs2/EBSapps/appl Non-Editioned File System : /app/DEMO/fs_ne DB Host: appsrv.demo.com Service/SID: DEMO Sourcing the RUN File System ... #
Navigate to $JAVA_TOP
cd $JAVA_TOP
ls -lrt
#cd $JAVA_TOP # ls -lrt total 48 drwxr-xr-x 3 applmgr oinstall 256 Jan 04 2013 policies drwxr-xr-x 2 applmgr oinstall 256 Feb 07 20:52 META-INF drwxr-xr-x 4 applmgr oinstall 256 Mar 06 00:23 oracle drwxr-xr-x 3 applmgr oinstall 256 Mar 14 15:19 xxcust -rw-r--r-- 1 applmgr oinstall 9699 Mar 14 15:23 customall.jar #
Perform Backup
Perform backup of existing customall.jar file in case of any issues with the new deployment old file can be replaced.
cp customall.jar customall.jar_10JUL26
ls -lrt
#cp -rp customall.jar customall.jar_10JUL26 # ls -lrt total 48 drwxr-xr-x 3 applmgr oinstall 256 Jan 04 2013 policies drwxr-xr-x 2 applmgr oinstall 256 Feb 07 20:52 META-INF drwxr-xr-x 4 applmgr oinstall 256 Mar 06 00:23 oracle drwxr-xr-x 3 applmgr oinstall 256 Mar 14 15:19 xxcust -rw-r--r-- 1 applmgr oinstall 9699 Mar 14 15:23 customall.jar -rw-r--r-- 1 applmgr oinstall 9699 Jul 10 20:43 customall.jar_10JUL26 #
Identify adcgnjar
Run the below command to identify the adcgnjar location.
which adcgnjar
#which adcgnjar /app/DEMO/fs1/EBSapps/appl/ad/12.0.0/bin/adcgnjar #
Run adcgnjar
Run adcgnjar command to regenerate the customall.jar file.
adcgnjar
Note: This will request for apps username and apps password, enter to proceed
#adcgnjar
Copyright (c) 2002, 2012 Oracle Corporation
Redwood Shores, California, USA
AD Custom Jar Generation
Version 12.2.0
NOTE: You may not use this utility for custom development
unless you have written permission from Oracle Corporation.
Enter the APPS username: apps
Enter the APPS password:
Generating customall.jar ...
Copyright (c) 2002, 2012 Oracle Corporation
Redwood Shores, California, USA
AD Java
Version 12.2.0
NOTE: You may not use this utility for custom development
unless you have written permission from Oracle Corporation.
Reading product information from file...
Reading language and territory information from file...
Reading language information from applUS.txt ...
Temporarily resetting CLASSPATH to:
"/app/DEMO/fs1/EBSapps/appl/ad/12.0.0/java/adjava.zip:/app/DEMO/fs1/EBSapps/comn/util/jdk32/lib/dt.jar:/app/DEMO/fs1/EBSapps/comn/util/jdk32/lib/tools.jar:/app/DEMO/fs1/EBSapps/comn/util/jdk32/jre/lib/rt.jar:/app/DEMO/fs1/EBSapps/comn/shared-libs/ebs-3rdparty/WEB-INF/lib/ebs3rdpartyManifest.jar:/app/DEMO/fs1/FMW_Home/Oracle_EBS-app1/shared-libs/ebs-fmw/WEB-INF/lib/ebsFMWManifest.jar:/app/DEMO/fs1/FMW_Home/Oracle_EBS-app1/shared-libs/ebs-appsborg/WEB-INF/lib/ebsAppsborgManifest.jar:/app/DEMO/fs1/FMW_Home/oracle_common/modules/oracle.uix_11.1.1/uix2.jar:/app/DEMO/fs1/EBSapps/comn/java/classes:/app/DEMO/fs1/EBSapps/10.1.2/forms/java:/app/DEMO/fs1/EBSapps/10.1.2/forms/java/frmall.jar:/app/DEMO/fs1/EBSapps/10.1.2/jlib/ewt3.jar:/app/DEMO/fs1/EBSapps/10.1.2/j2ee/OC4J_BI_Forms/applications/formsapp/formsweb/WEB-INF/lib/frmsrv.jar"
Calling /app/DEMO/fs1/EBSapps/comn/util/jdk32/jre/bin/java ...
The JDK version is 1.7.0_451
Validating the files/directories specified for -areas option
About to Analyze the input areas : Fri Jul 10 2026 20:54:13
WARNING: Unable to load metadata entry from zip file /app/DEMO/fs1/EBSapps/comn/java/classes/customall.zip
Cause: Error while trying to read metadata from file /app/DEMO/fs1/EBSapps/comn/java/classes/customall.zip: No metadata entry META-INF/JRIMETA.DAT found
Action needed: None. This message is for information only and can safely be ignored.
Done Analyzing the input areas : Fri Jul 10 2026 20:54:13
About to Generate outputFile : Fri Jul 10 2026 20:54:13
About to Generate customall.jar : Fri Jul 10 2026 20:54:13
Done Generating customall.jar : Fri Jul 10 2026 20:54:13
About to Sign customall.jar : Fri Jul 10 2026 20:54:13
Done Signing customall.jar : Fri Jul 10 2026 20:54:14
Done Generating outputFile : Fri Jul 10 2026 20:54:14
customall.jar generated successfully.
#
Verify the new customall.jar details
ls -lrt
# ls -lrt total 48 drwxr-xr-x 3 applmgr oinstall 256 Jan 04 2013 policies drwxr-xr-x 2 applmgr oinstall 256 Feb 07 20:52 META-INF drwxr-xr-x 4 applmgr oinstall 256 Mar 06 00:23 oracle drwxr-xr-x 3 applmgr oinstall 256 Mar 14 15:19 xxcust -rw-r--r-- 1 applmgr oinstall 9699 Jul 10 20:43 customall.jar_10JUL26 -rw-r--r-- 1 applmgr oinstall 9699 Jul 10 20:54 customall.jar #
Bounce Oacore Managed Server
For the new changes to take effect in the EBS application level, oacore managed server has to be stopped and started.
Note: This is a downtime activity, request approval and plan during the scheduled maintenance window.
Follow the below steps:
cd $ADMIN_SCRIPTS_HOME ls -lrt ps -ef | grep oacore sh admanagedsrvctl.sh stop oacore_server1 sh admanagedsrvctl.sh status oacore_server1 sh admanagedsrvctl.sh start oacore_server1 ps -ef | grep oacore
Automating the Activity
Automating adcgnjar command and oacore managed server bounce can be performed to avoid manual intervention.
Place passwords in file “setpwd”
vi setpwd --Add the below lines and save-- export appspwd=apps export weblogicpwd=weblogic :wq!
Automating adcgnjar using adcgnjar_custom.sh
vi adcgnjar_custom.sh
--Add the below lines and save--
. setpwd
{ sleep 1s; echo apps; sleep 1s; echo $appspwd;} | adcgnjar
:wq!
Automating oacore managed services bounce using oacore_bounce.sh
vi oacore_bounce.sh
--Add the below lines and save--
. setpwd
{ sleep 1s; echo $weblogicpwd;} | $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh stop oacore_server1
$ADMIN_SCRIPTS_HOME/adapcctl.sh stop
$ADMIN_SCRIPTS_HOME/adapcctl.sh start
{ sleep 1s; echo $weblogicpwd;} | $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh start oacore_server1
:wq!
Script Execution
To generate the adcgnjar file – Run “adcgnjar_custom.sh”
To bounce the oacore managed services – Run “oacore_bounce.sh”
sh adcgnjar_custom.sh sh oacore_bounce.sh
End of Post
Thanks for taking the time to read this post.
Stay tuned for the next post coming soon. . .

