2013-05-28 71 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” 真正的代码来部署为库