如何在weblogic中远程部署应用程序?

9

我有两台电脑,我不想在我的开发电脑上安装weblogic和oracle,因为它们会占用太多内存。问题是如何将我的应用程序部署到另一台已经安装了oracle和weblogic的空闲电脑上?我正在使用weblogic 10.3。


1
为了澄清一下:您是想从工作室内部还是从Ant /命令行/控制台部署? - Petri Pellinen
4个回答

6

我不想在我的开发电脑上安装weblogic和oracle,它们会占用太多内存

即使不运行时也是这样吗?

我该如何将我的应用程序从我的开发机器部署到另一台已安装了oracle和weblogic的机器上?

您可以使用以下工具:

其他选项(如果您正在使用maven):


有人测试过Weblogic Maven插件吗?这个回答是2010年的,有没有新的消息?! - shareef
这些选项中是否有任何一种可以自动部署应用程序到远程WebLogic,而无需在本地安装整个WebLogic包? - 30thh

1

Wldeploy非常好用。配置如下。

    <target name="deploy">
        <wl.deploy.app archivepath="${ear.path}" name="${ear.deployment.name}"
                   wladminuser="${weblogic.admin.user}" wlserverhost="${weblogic.server.host}"
                   wlserverport="${weblogic.server.port}" wlservername="${test.server.name}"
                   wladminpassword="${weblogic.admin.password}"/>
    </target>
    <macrodef name="wl.deploy.app">
     <attribute name="archivepath"/>
     <attribute name="name"/>
     <attribute name="wladminuser"/>
     <attribute name="wladminpassword"/>
     <attribute name="wlserverhost"/>
     <attribute name="wlserverport"/>
     <attribute name="wlservername"/>
     <attribute name="sharedlibrary" default="false"/>

     <sequential>
        <wldeploy action="deploy" verbose="true" debug="true"
                  name="@{name}"
                  library="@{sharedlibrary}"
                  remote="true"
                  upload="true"
                  source="@{archivepath}"
                  user="@{wladminuser}" password="@{wladminpassword}"
                  adminurl="t3://@{wlserverhost}:@{wlserverport}"
                  targets="@{wlservername}"/>
     </sequential>
 </macrodef>

只需正确指定所有属性,无论是本地主机还是远程计算机,它都应该可以正常工作。


1
如果您使用Ant任务,请确保包含upload="true"参数。这将把war、ear文件复制到远程Weblogic系统,从而避免手动操作。

0

您可以使用REST接口部署WebLogic应用程序(我不确定它是否适用于所有WLS版本)。

必须通过管理控制台启用REST接口(需要重新启动服务器):

Settings / Configuration / General [Advanced] / Enable RESTful Management Services

这实际上是一个基于JSON的REST接口,但如果您需要上传文件,则使用multipart/form-data

它的工作方式如下(在WLS v12.2.1.4上测试):

curl -X POST 'http://<server>:7001/management/weblogic/latest/edit/appDeployments' 
-u <username>:<password>
--header 'Content-Type: multipart/form-data'
--header 'X-Requested-By: <any_string>'
--form 'sourcePath=@<local_path_to_war_file>'
--form 'model={"name": "<application_name>"}'
--form 'planPath=@<local_path_to_plan_xml_file>'

不要忘记 X-Requested-By。WebLogic需要它作为CSRF保护。


WLS版本14的API文档:https://docs.oracle.com/en/middleware/standalone/weblogic-server/14.1.1.0/wlrer/index.html

WLS版本12的API文档:https://docs.oracle.com/en/middleware/fusion-middleware/weblogic-server/12.2.1.4/wlrem/index.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接