HOWTO
Oracle
- https://docs.oracle.com/en/middleware/fusion-middleware/14.1.2/maven/building-java-ee-projects-weblogic-server-maven.html#GUID-CDBB0A84-402C-4605-9E27-8CC904D42863
- Using Weblogic Maven plugin https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/14.1.2/wlprg/maven.html
- Install Oracle Weblogic JARs to local Maven repo https://docs.oracle.com/en/middleware/fusion-middleware/14.1.2/maven/automating-application-builds-maven.html#GUID-963A4A39-6CD0-4B0A-B6DB-0D1569E5C5FB
- JNDI https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/14.1.2/wjndi/jndi.html#GUID-8D01DBC7-1AC1-4785-9BA7-264754B05853
Blog
- Weblogic 12.2.1.2 https://danielveselka.blogspot.com/2016/01/using-maven-on-weblogic-1221-with-java.html
- Maven EJB project https://danielveselka.blogspot.com/2016/01/using-maven-to-create-ejb-project-on.html
- Using Maven on Weblogic 14.1.1 https://danielveselka.blogspot.com/2022/01/using-maven-with-weblogic-1411.html
Github
- Weblogic 14.1.1 generated code https://github.com/dveselka/weblogic/tree/master/dave-basic-project/dave-basic-webapp-ejb-project
- Weblogic 14.1.2 generated code https://github.com/dveselka/weblogic/tree/master/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
Install Oracle Weblogic JARs to local Maven repo using
Oracle Maven Synchronization Plug-In
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ ls /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ cd /app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn install:install-file -DpomFile=oracle-maven-sync-14.1.2.pom -Dfile=oracle-maven-sync-14.1.2.jar
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- install:3.1.1:install-file (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/eclipse/aether/aether-api/1.0.0.v20140518/aether-api-1.0.0.v20140518.jar (136 kB at 324 kB/s)
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.jar to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.jar
[INFO] Installing /home/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2/oracle-maven-sync-14.1.2.pom to /home/dave/.m2/repository/com/oracle/maven/oracle-maven-sync/14.1.2-0-0/oracle-maven-sync-14.1.2-0-0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.933 s
[INFO] Finished at: 2025-10-25T23:34:30+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn help:describe -Dplugin=com.oracle.maven:oracle-maven-sync -Ddetail
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- help:3.2.0:describe (default-cli) @ standalone-pom ---
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-provider-api/1.0-beta-2/wagon-provider-api-1.0-beta-2.pom (680 B at 2.1 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon/1.0-beta-2/wagon-1.0-beta-2.pom (5.9 kB at 155 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.pom (2.3 kB at 52 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.pom (481 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-parent/1.1/hamcrest-parent-1.1.pom (5.9 kB at 103 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-lightweight/1.0-beta-6/wagon-http-lightweight-1.0-beta-6.pom (1.8 kB at 44 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http-shared/1.0-beta-6/wagon-http-shared-1.0-beta-6.pom (2.1 kB at 55 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.pom (390 B at 11 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.pom (704 B at 18 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-http/1.0-beta-6/wagon-http-1.0-beta-6.pom (3.3 kB at 76 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.pom (7.8 kB at 194 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.2/commons-codec-1.2.pom (3.8 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-webdav-jackrabbit/1.0-beta-6/wagon-webdav-jackrabbit-1.0-beta-6.pom (3.5 kB at 92 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-webdav/1.5.0/jackrabbit-webdav-1.5.0.pom (3.3 kB at 93 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-parent/1.5.0/jackrabbit-parent-1.5.0.pom (25 kB at 516 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/jackrabbit/jackrabbit-jcr-commons/1.5.0/jackrabbit-jcr-commons-1.5.0.pom (3.0 kB at 90 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-api/1.5.3/slf4j-api-1.5.3.pom (3.0 kB at 85 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-parent/1.5.3/slf4j-parent-1.5.3.pom (7.7 kB at 204 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom
Downloaded from central: https://repo.maven.apache.org/maven2/commons-httpclient/commons-httpclient/3.0/commons-httpclient-3.0.pom (8.0 kB at 182 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/slf4j/slf4j-nop/1.5.3/slf4j-nop-1.5.3.pom (1.5 kB at 40 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-external/1.0-beta-6/wagon-ssh-external-1.0-beta-6.pom (2.6 kB at 66 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh-common/1.0-beta-6/wagon-ssh-common-1.0-beta-6.pom (1.8 kB at 49 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/1.0-beta-6/wagon-ssh-1.0-beta-6.pom (2.9 kB at 72 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom
Downloaded from central: https://repo.maven.apache.org/maven2/com/jcraft/jsch/0.1.38/jsch-0.1.38.pom (967 B at 28 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar
Downloaded from central: https://repo.maven.apache.org/maven2/junit/junit/4.10/junit-4.10.jar (253 kB at 2.8 MB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar (77 kB at 1.1 MB/s)
[INFO] com.oracle.maven:oracle-maven-sync:14.1.2-0-0
Name: Oracle Maven Synchronization Plugin
Description: Maven plugin to load a Maven repository with the contents of the
Oracle Home directory
Group Id: com.oracle.maven
Artifact Id: oracle-maven-sync
Version: 14.1.2-0-0
Goal Prefix: oracle-sync
This plugin has 2 goals:
oracle-sync:help
Description: Display help.
Implementation: com.oracle.maven.sync.ODMHelp
Language: java
This mojo doesn't use any parameters.
oracle-sync:push
Description: Install to the local repository and optionally deploy to a
remote repository from the specified oracle home
The plugin will use your current Maven settings to determine the path to
the local repository and, optionally, a remote deployment repository. For
details on how to configure Maven's repository settings, see the Maven
settings reference: http://maven.apache.org/settings.html
You can specify the parameters on the command line like this:
-DserverId=archiva-internal -DdryRun=false -DfailOnError=false
To override the localRepository target used by the plugin, you can specify
the following option on the command-line:
-Dmaven.local.repo=/alternate/path/to/repository
To supply an alternate settings.xml for purposes of this operation, use the
--settings option. For example:
mvn --settings /alternate/path/settings.xml ...
...or in your POM like this:
<plugin>
<groupId>com.oracle.maven</groupId>
<artifactId>oracle-maven-sync</artifactId>
<version>14.1.2-0-0</version>
<configuration>
<oracleHome>/home/mark/Oracle/Middleware</oracleHome>
<failOnError>false</failOnError>
</configuration>
</plugin>
Implementation: com.oracle.maven.sync.ODMPushMojo
Language: java
Available parameters:
dryRun (Default: false)
User property: dryRun
If set to 'true' this goal execution will only log push actions but will
not actually make any changes.
failOnError (Default: true)
User property: failOnError
If set to 'true' the plugin will stop and return an error immediately
upon the first failure to deploy an artifact. Otherwise, the plugin will
log the error and attempt to complete deployment of all other artifacts.
oracleHome
Required: true
User property: oracleHome
Path to the Oracle home.
overwriteParent (Default: false)
User property: overwriteParent
If true, the plugin will overwrite POM artifacts with ancestry to
oracle-common if they exist in the target repository. The default value
of false will prevent automatic overwrite of customized POM contents. If
any such POMs are encountered during plugin execution, an error will be
thrown and handled according to the failOnError flag value. To carry over
changes, save the existing POMs, run the push goal with
overwriteParent=true and manually transfer the changes to the newly
pushed POMs.
pushDuplicates (Default: false)
User property: pushDuplicates
Push all duplicate locations. If multiple POMs with different Maven
coordinates (GAV) are assigned to the same location path, the plugin will
push them all to the destination repository if this flag is true.
If the value is false, the push operation will fail. Set failOneError to
false if you would like to skip all duplicates except the GAV in the set
of duplicates that is encountered first.
retryFailedDeploymentCount (Default: 1)
User property: retryFailedDeploymentCount
Parameter used to control how many times a failed deployment will be
retried before giving up and failing. If a value outside the range 0-10
is specified it will be pulled to the nearest value within the range
0-10. If set to 0, there will be no retries
If the artifact being deployed to the remote server has both a POM and a
binary file, the retry count will be reset between deploying the POM and
deploying the binary file.
This parameter is ignored when pushing to a local repository.
serverId
User property: serverId
This is the ID of the repository in your pom.xml or settings.xml file -
where you have specified the remote Maven repository and its
authentication information. The plugin will only install to the local
repository if this parameter is not set.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.459 s
[INFO] Finished at: 2025-10-25T23:35:41+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/app/weblogic/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/14.1.2$ mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/app/weblogic
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- oracle-sync:14.1.2-0-0:push (default-cli) @ standalone-pom ---
[INFO] ------------------------------------------------------------------------
[INFO] ORACLE MAVEN SYNCHRONIZATION PLUGIN - PUSH
[INFO] ------------------------------------------------------------------------
Generate project from archetype
See generated code here https://github.com/dveselka/weblogic/tree/master/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ mvn archetype:generate -DarchetypeGroupId=com.oracle.weblogic.archetype -DarchetypeArtifactId=basic-webapp-ejb -DarchetypeVersion=14.1.2-0-0 -DgroupId=dave -DartifactId=dave-basic-webapp-ejb-project -Dversion=1.0-SNAPSHOT
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] >>> archetype:3.2.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< archetype:3.2.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO]
[INFO] --- archetype:3.2.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[WARNING] Archetype not found in any catalog. Falling back to central repository.
[WARNING] Add a repository with id 'archetype' in your settings.xml if archetype's repository is elsewhere.
[INFO] Using property: groupId = dave
[INFO] Using property: artifactId = dave-basic-webapp-ejb-project
[INFO] Using property: version = 1.0-SNAPSHOT
[INFO] Using property: package = dave
Confirm properties configuration:
groupId: dave
artifactId: dave-basic-webapp-ejb-project
version: 1.0-SNAPSHOT
package: dave
Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: basic-webapp-ejb:14.1.2-0-0
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: dave
[INFO] Parameter: packageInPathFormat, Value: dave
[INFO] Parameter: package, Value: dave
[INFO] Parameter: groupId, Value: dave
[INFO] Parameter: artifactId, Value: dave-basic-webapp-ejb-project
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Project created from Archetype in dir: /git/weblogic/dave-basic-project-14.1.2/dave-basic-webapp-ejb-project
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.297 s
[INFO] Finished at: 2025-10-25T23:39:54+02:00
[INFO] ------------------------------------------------------------------------
dave@dave:/git/weblogic/dave-basic-project-14.1.2$ find dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/
dave-basic-webapp-ejb-project/pom.xml
dave-basic-webapp-ejb-project/src
dave-basic-webapp-ejb-project/src/main
dave-basic-webapp-ejb-project/src/main/java
dave-basic-webapp-ejb-project/src/main/java/dave
dave-basic-webapp-ejb-project/src/main/java/dave/entity
dave-basic-webapp-ejb-project/src/main/java/dave/entity/Account.java
dave-basic-webapp-ejb-project/src/main/java/dave/service
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManagerImpl.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountBean.java
dave-basic-webapp-ejb-project/src/main/java/dave/service/AccountManager.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/LogInterceptor.java
dave-basic-webapp-ejb-project/src/main/java/dave/interceptor/OnDeposit.java
dave-basic-webapp-ejb-project/src/main/webapp
dave-basic-webapp-ejb-project/src/main/webapp/css
dave-basic-webapp-ejb-project/src/main/webapp/css/bootstrap.css
dave-basic-webapp-ejb-project/src/main/webapp/index.xhtml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/web.xml
dave-basic-webapp-ejb-project/src/main/webapp/WEB-INF/beans.xml
dave-basic-webapp-ejb-project/src/main/webapp/template.xhtml
dave-basic-webapp-ejb-project/src/main/resources
dave-basic-webapp-ejb-project/src/main/resources/META-INF
dave-basic-webapp-ejb-project/src/main/resources/META-INF/persistence.xml
dave-basic-webapp-ejb-project/src/main/scripts
No comments:
Post a Comment