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

时间:2010-01-13 15:31:44

标签: glassfish

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

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

我花了很多时间在谷歌试图实现这一点,所有的蚂蚁样本似乎都引用了一个名为“sun-appserv-ant.jar”的jar文件,该文件应该位于应用程序服务器的modules目录中然而,安装,我无法在任何地方找到它,也无法找到原因,或者甚至还有基于蚂蚁的替代品。

由于

3 个答案:

答案 0 :(得分:5)

sun-appserv-ant.xml文件未随v3提出。

你并没有被完全困住。

您可read about the Ant exec task,可用于触发asadmin commands

如果您非常喜欢冒险,您可能需要调查随Java EE 6 SDK一起提供的示例项目使用的bp项目框架。

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

答案 1 :(得分:3)

您应该通过GlassFish更新工具

添加glassfish-ant-tasks模块

答案 2 :(得分:1)

经过多次痛苦后,我找到了一个如何使用V3.x ant工具here

的示例

对于非法语人士来说,缺点是它是法语。好处是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. 编写部署目标。这些规则与文档中的内容相似 EXCEPT

    一个。删除对旧版本中使用的<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>