Glassfish v3的sun-appserv-ant.jar在哪里?

3
在Glassfish v3中sun-appserv-ant.jar在哪里?
我创建了一个小的EJB项目,想要使用ant将应用部署到Glassfish v3上。我在谷歌上花费了很多时间,尝试实现这一目标,所有ant样例似乎都引用了一个名为"sun-appserv-ant.jar"的jar文件,它应该位于应用服务器安装的模块目录中,但是我无法找到它的任何位置,也找不到原因,也不知道是否有基于ant的替代方法。
谢谢。
3个回答

5

3
您应该通过GlassFish更新工具添加glassfish-ant-tasks模块。

谢谢回复。我已经做过了。然而sun-appserv-ant.jar没有被添加到<安装路径>/glassfish/modules下的模块目录中。我有什么遗漏吗? - Kirk
2
现在是一个不同的jar,ant-tasks.jar,并且接口也有一些变化。 <taskdef name="sun-appserv-deploy" classname="org.glassfish.ant.tasks.DeployTask" classpath="${glassfish.dir}/lib/ant/ant-tasks.jar"/> - Luzifer42
1
从Glassfish 3.1开始,您需要添加的模块不是“Ant”,而是“glassfish-ant-tasks”。 - Dan Menes

1

经过长时间的痛苦,我终于找到了一个关于如何使用V3.x ant工具的示例这里

对于非法语使用者来说,不足之处在于它是用法语编写的。好处是Java部分仍然是用Java编写的。

据我所知,Ant任务现在与Sun(Oracle)文档中所述有很大的不同:

  1. 您必须使用Glassfish服务器更新工具来获取glassfish-ant-tasks模块。

  2. 这将导致文件*glassfish_dir*/lib/ant/ant-tasks.jar被下载。 必须将其包含在您的类路径中。

  3. 在您的build.xml中定义一个as-ant-init目标

    <target name="as-ant-init">
        <taskdef name="sun-appserv-deploy"
            classname="org.glassfish.ant.tasks.DeployTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-undeploy"
            classname="org.glassfish.ant.tasks.UndeployTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-component"
            classname="org.glassfish.ant.tasks.ComponentTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-admin"
            classname="org.glassfish.ant.tasks.AdminTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-redeploy"
            classname="org.glassfish.ant.tasks.RedeployTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-start-server"
            classname="org.glassfish.ant.tasks.StartServerTask"
            classpath="${build-lib}/ant-tasks.jar" />
        <taskdef name="sun-appserv-stop-server"
            classname="org.glassfish.ant.tasks.StopServerTask"
            classpath="${build-lib}/ant-tasks.jar" />
    </target>
    
  4. 编写部署目标。 规则与文档中的规则类似但是

    A. 删除对旧版本中使用的<server>元素的引用。

    B. 所有旧版API中附加到<server>的属性现在直接附加到包含元素(例如<sun-appserv-deploy>)上,如下所示:

    <target name="deploy">
        <sun-appserv-deploy
            user="${glassfish.admin-user}"
            passwordfile="${glassfish.passwordfile}}"
            host="${glassfish.host}"
            port="${glassfish.admin-port}"
            installDir="${asinstalldir}"
            upload="true" >
    
            <component
                file="${dist.warfile}"
                name="My application"
                contextroot="${glassfish.context-root}" />
        </sun-appserv-deploy>
    </target>
    

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