2013-05-28 68 views
4

我已經從weblogic-maven-plugin(10.3)遷移到wls-maven-plugin(12.1),並且遇到了部署共享庫的問題。wls-maven-plugin:部署共享庫

問題是wls-maven-plugin不能傳遞給Weblogic.Deployer庫標誌。對於WebLogic-行家-插件我有相同的conf:

<plugin> 
       <groupId>com.oracle.weblogic</groupId> 
       <artifactId>weblogic-maven-plugin</artifactId> 
       <version>10.3.6.0</version> 
       <configuration> 
        <adminurl>t3://localhost:7001</adminurl> 
        <user>${weblogic.username}</user> 
        <password>${weblogic.password}</password> 
        <upload>true</upload>            
        <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>           
        <name>${project.build.finalName}</name> 
        <isLibrary>true</isLibrary> 
       </configuration> 
</plugin> 

有元件isLibrary顯示插件通過調用的weblogic.Deployer -library標誌。

遷移到WLS插件後:

<plugin> 
       <groupId>com.oracle.weblogic</groupId> 
       <artifactId>wls-maven-plugin</artifactId> 
       <version>12.1.1.0</version> 
       <configuration> 
        <adminurl>t3://localhost:7001</adminurl> 
        <user>${weblogic.username}</user> 
        <password>${weblogic.password}</password> 
        <middlewareHome>${env.MW_HOME}</middlewareHome> 
        <upload>false</upload> 
        <action>deploy</action>     
        <remote>false</remote> 
        <isLibrary>true</isLibrary> 
        <verbose>true</verbose>       <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source> 
        <name>${project.build.finalName}</name> 
       </configuration>     
</plugin> 

但WLS插件不-library標誌傳遞到的weblogic.Deployer和部署類型未知的結果罐子,所以我的應用程序不能使用庫,因爲不要」發現它。

注意:如果我使用Weblogic.Deployer手動部署所有工作正常 - 所以我的清單和weblogic-application.xml文件應該是正確的。

+0

您是否嘗試過使用標籤<則weblogic.Deployer .isLibrary>而不是?我之前沒有嘗試過:https://java.net/projects/weblogic-examples/sources/weblogic-11g-user-examples/content/jeffrey.west/coherence-examples/common/pom.xml –

+0

不,它只是在weblogic-maven-plugin中用於的屬性,它適用於它,但不適用於wls-maven-plugin。 – Torsten

+0

有趣。在這兩個鏈接中將新版本與舊版本進行比較:http://docs.oracle.com/cd/E24329_01/web.1211/e24368/maven.htm#CHEJAEDA vs http://docs.oracle.com/cd/ E24329_01/web.1211/e24443/maven_deployer.htm#DEPGD383您可以看到「library」布爾值不再是部署選項。如果你找到解決方法或者你應該使用什麼標籤,請發帖。 –

回答

0

解決方法是wls:wlst。調用自己的wlst腳本(應該是自寫的 - 它很簡單),並從maven傳遞參數,例如部署源,url,用戶/密碼(使用WLST命令deploy我們可以傳遞庫參數)。這是工作很好,但在我看來很糟糕。另外,我認爲可以使用ant任務完成並調用weblogic.deployer(無論如何maven插件和wlst調用weblogic deployer應用程序 - 它只是包裝器)。

0

這裏是要遵循的步驟:

  1. 標識Oracle Maven的同步POM文件和jar。編輯你的Maven版本的POM文件。安裝它們: mvn -e install:install-file -DpomFile = oracle-maven-sync.12.1.2.pom -Dfile = oracle-maven-sync.12.1.2.jar

  2. 加入你的倉庫以下依賴關係: JDOM-1.1 Maven的神器 Maven的COMPAT Maven的插件-API 公地編解碼器1.6 公地IO-2.2

  3. ,你把下面的本地計算機上創建一個文件夾Weblogic依賴關係:

 
weblogic_dependencies 
        | 
        --wlserver 
           | 
           --server 
             | 
             --lib 
              -- weblogic.jar 
        | 
        --modules 

(從weblogic安裝中複製wlserver/server/lib/weblogic.jar和wlserver/modules文件夾下的所有文件)。將MW_HOME設置爲指向weblogic_dependencies文件夾。 MVN -e -X -U com.oracle.maven:Oracle的行家同步:推-DserverId = archiva_repository_id_from_maven_config_xml -Doracle-

  1. 從一臺機器,你必須的Weblogic的安裝執行如下命令Maven的sync.oracleHome =%MW_HOME%

  2. MVN -U原型:爬-Dcatalog = C:.m2目錄\原型 - catalog.xml中

  3. 部署你的文物庫中的WLS-Maven的插件(見Oracle documentation for that!)。

    • 遠程部署無middlewareHome參數(可能無法正常工作):

      MVN清潔套裝com.oracle.weblogic:WLS-Maven的插件:部署-Dadminurl = T3:// admin_server_ip:7001 -Duser = weblogic_user -Dpassword = weblogic_pass -Dtargets = SRV_7011 -Dupload =真-Dname = maven_project_id

    • 使用-DmiddlewareHome =%MW_HOME%參數
    • 遠程部署:

      mvn clean package com.oracle.weblogic:wls-maven-plugin:deploy -Dadminurl = t3:// admin_server_ip:7001 -Duser = weblogic_user -Dpassword = weblogic_pass -Dtargets = SRV_7011 -Dupload = true -Dname = maven_project_id -Dverbose =真-DmiddlewareHome =%MW_HOME%

0

在Maven插件沒有 「isLibrary」 真正的代碼來部署爲庫