Saturday, October 25, 2025

Building Jakarta EE Projects for WebLogic Server 14.1.2 with Maven

 HOWTO

 Oracle  

 

Blog

Github

 

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