1

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>

しかし、すべてのプラットフォームで動作するようにコードを書き直したいと思っています。私はそれについていくつかの検索を行い、最終的にこの役立つページにたどり着きました。この方法を試してみたかった。プロジェクトに必要な 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

このエラーの解決や、プラットフォームなしで展開する別の方法について誰か助けてもらえますか? ありがとう。

4

1 に答える 1