gpt4 book ai didi

java - 通过 Java 中的 ANT 针对所有平台将 Web 项目部署到 Glassfish

转载 作者:行者123 更新时间:2023-11-29 05:43:32 27 4
gpt4 key购买 nike

我有一个部署 war 文件的 Web 项目,现在我可以部署到 Windows 中的 Glassfish。这是我的 build.xml 的必要部分。

<target
name="deploywar"
description="Varolan WAR dosyasını yayınlar." >
<echo level="info" >
Proje sunucuda yayinlaniyor...
</echo>
<exec
executable="cmd"
failonerror="true"
output="${out.txt}" >
<arg value="/c" />
<arg value="${glassfish.path}/glassfish/bin/asadmin --passwordfile ${password.file} deploy --contextroot /GlassfishDeployment ${deployyolu}/${war.filename}" />
</exec>
</target>

但我想重新编写我的代码以在所有平台上工作。我做了一些关于它的搜索,结果是 this helpful page .我想试试这个方法。我在我的项目中添加了必要的 Jar 文件。然后我做了这些任务定义;

<fileset dir="WebContent/WEB-INF/lib">
<include name="sun-appserv-ant.jar"/>
</fileset>

<target name="as-ant-init">
<taskdef name="sun-appserv-deploy"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.DeployTask" />
<taskdef name="sun-appserv-undeploy"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.UndeployTask" />
<taskdef name="sun-appserv-component"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.ComponentTask" />
<taskdef name="sun-appserv-admin"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.AdminTask" />
<taskdef name="sun-appserv-jspc"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.SunJspc" />
<taskdef name="sun-appserv-update"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.UpdateTask" />
<taskdef name="sun-appserv-instance"
classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.InstanceTask" />
<taskdef name="wsgen" classname="com.sun.tools.ws.ant.WsGen" />
<taskdef name="wsimport" classname="com.sun.tools.ws.ant.WsImport" />
<classpath path="${glassfish.path}/lib/sun-appserv-ant.jar" />
</target>

我最终遇到了这个错误;

taskdef class org.apache.tools.ant.taskdefs.optional.sun.appserv.DeployTask cannot be found

谁能帮我解决这个错误或其他部署 w/o 平台的方法?谢谢。

最佳答案

我使用了这个回复中的代码片段;

<presetdef name="asadmin">
<java jar="${glassfish.home}/modules/admin-cli.jar" fork="true" jvm="${java.home}/bin/java" >
<arg line="--port ${glassfish.admin.port}" />
</java>
</presetdef>
<target name="deploy">
<asadmin failonerror="true">
<arg value="deploy" />
<arg value="--force=true" />
<arg value="${ear.file}" />
</asadmin>
</target>

它解决了我的问题。谢谢; https://stackoverflow.com/a/7299637/1400515

关于java - 通过 Java 中的 ANT 针对所有平台将 Web 项目部署到 Glassfish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651949/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com