我有两台电脑,我不想在我的开发电脑上安装weblogic和oracle,因为它们会占用太多内存。问题是如何将我的应用程序部署到另一台已经安装了oracle和weblogic的空闲电脑上?我正在使用weblogic 10.3。
我有两台电脑,我不想在我的开发电脑上安装weblogic和oracle,因为它们会占用太多内存。问题是如何将我的应用程序部署到另一台已经安装了oracle和weblogic的空闲电脑上?我正在使用weblogic 10.3。
我不想在我的开发电脑上安装weblogic和oracle,它们会占用太多内存
即使不运行时也是这样吗?
我该如何将我的应用程序从我的开发机器部署到另一台已安装了oracle和weblogic的机器上?
您可以使用以下工具:
webLogic.Deployer
(请参阅weblogic.Deployer命令行参考)wldeploy
,weblogic.Deployer
的Ant任务版本(请参阅wldeploy Ant任务参考)其他选项(如果您正在使用maven):
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>
只需正确指定所有属性,无论是本地主机还是远程计算机,它都应该可以正常工作。
您可以使用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