代码之家  ›  专栏  ›  技术社区  ›  Yishai

部署爆炸式ear的策略

  •  4
  • Yishai  · 技术社区  · 16 年前

    我有一个以相当复杂的方式创建ear的构建过程(多个EJBJAR、几场战争、几场sars(这是JBoss特有的)。将其拼接在一起的ant过程有些复杂。

    尽管我很关心JBoss,但这个问题实际上与任何支持ear部署的应用服务器都相关,更重要的是ANT,如何避免两个不同的目标重新创建zip文件和复制到目录的逻辑。

    3 回复  |  直到 16 年前
        1
  •  5
  •   Community Mohan Dere    9 年前

    我发现对我们来说,最有效的方法是在文件系统中以分解形式创建ZIP/EAR/WAR/JAR内容,然后作为最后一步,将其转换为一个文件。

    这使我们能够进行后处理步骤,只知道文件,而不知道zip文件条目,这通常要简单得多。如果使用分解部署和在分解部署中拾取更改的文件的服务器,只需使用rsync更新服务器部署中实际更改的文件。

    然后,您将在一个目标中构建,并在另一个目标中打包,使两者都很容易实现。


    看见 Alexander Pogrebnyak

        2
  •  4
  •   martin clayton egrunin    15 年前

    这是对您关于清单的评论的回复。

    你应该使用 <manifest> here is the link )控制清单的创建。

    下面是我的构建文件的摘录,以提供清单。

    <copy toDir="${stage.dir}" flatten="true">
      <fileset dir="${resources.src.dir}">
        <include name="META-INF/MANIFEST.MF"/>
      </fileset>
    </copy>
    
    <manifest
      file="${stage.dir}/MANIFEST.MF"
      mode="update"
    >
      <attribute name="Built-By" value="${builder.name}" />
    </manifest>
    
    <jar destfile="${project.jar.file}"
      basedir="${classes.dir}"
      manifest="${stage.dir}/MANIFEST.MF"
      duplicate="fail"
      whenmanifestonly="fail"      
    />
    

    <舱单> 任务 mode 属性你总是想把它设置为 update <jar>

        3
  •  3
  •   Chris Nava    16 年前

    .ear文件是.zip文件。要部署分解版本,只需将内容解压缩到名为*.ear的文件夹中。

    推荐文章