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

Glassfish v3的sun-appserv-ant.jar在哪里,glassfish,Glassfish,Glassfish v3中的sun-appserv-ant.jar在哪里 我创建了一个小样本EJB项目,我想使用ant将应用程序部署到Glassfish v3 我花了很多时间在google上试图实现这一点,所有的ant示例似乎都引用了一个名为“sun appserv ant.jar”的jar文件,该文件应该位于应用服务器安装的modules目录中,但是,我在任何地方都找不到它,也找不到原因,或者如果有一个基于蚂蚁的替代方案 谢谢您应该通过glassfish更新工具添加glassfish ant任

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

我创建了一个小样本EJB项目,我想使用ant将应用程序部署到Glassfish v3

我花了很多时间在google上试图实现这一点,所有的ant示例似乎都引用了一个名为“sun appserv ant.jar”的jar文件,该文件应该位于应用服务器安装的modules目录中,但是,我在任何地方都找不到它,也找不到原因,或者如果有一个基于蚂蚁的替代方案


谢谢

您应该通过glassfish更新工具添加
glassfish ant任务
模块

sun-appserv-ant.xml文件未随v3一起提交

但你并没有完全陷入困境

你可以,你可以用它来触发

如果您非常喜欢冒险,那么您可能需要研究随附的示例项目所使用的bp项目框架


您可以通过查看中的代码来了解bp项目框架。

在经历了许多痛苦之后,我找到了一个如何使用V3.x ant工具的示例

对不讲法语的人来说,缺点是它是用法语写的。好处是Java部分仍然是Java

据我所知,Ant任务现在与Sun(Oracle)记录的任务有很大不同:

  • 您必须使用Glassfish服务器更新工具获取
    Glassfish ant任务
    模块

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

  • 在build.xml中将
    定义为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>
    
    
    
  • 编写部署目标。除了

    A.删除对旧版本中使用的
    元素的引用

    B.在较旧版本的API中,所有本应附加到
    的属性现在都直接附加到包含元素,例如
    ,如下所示:

    <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>
    
    
    

  • 谢谢你的回复。我已经做到了。然而,sun-appserv-ant.jar并没有添加到/glassfish/modules Am I missing下的modules目录中。它现在是一个不同的jar ant-tasks.jar,接口也发生了一些变化。从Glassfish 3.1开始,您需要添加的模块不是“Ant”,而是“Glassfish Ant任务”