Jsf 炸耳朵锉

Jsf 炸耳朵锉,jsf,jakarta-ee,war,ear,Jsf,Jakarta Ee,War,Ear,我的JSF项目是作为EAR文件部署的。它还包括一些战争文件。我需要一个爆炸版本的耳朵(包括爆炸内部战争) 有什么工具可以这样做吗?是通过编程还是手动?EAR和WAR文件,如JAR文件,实际上只是具有已知内部文件/文件夹结构的ZIP文件。这意味着您可以像任何其他ZIP文件一样,使用代码或桌面应用程序提取耳朵和战争 用于windows的命令行工具将非常好 您可以非常轻松地将其放入可执行JAR的Java实现: bash脚本: 最后,如果您不介意使用7zip,一个与Windows兼容的脚本: 马特的

我的JSF项目是作为EAR文件部署的。它还包括一些战争文件。我需要一个爆炸版本的耳朵(包括爆炸内部战争)


有什么工具可以这样做吗?

是通过编程还是手动?EAR和WAR文件,如JAR文件,实际上只是具有已知内部文件/文件夹结构的ZIP文件。这意味着您可以像任何其他ZIP文件一样,使用代码或桌面应用程序提取耳朵和战争


用于windows的命令行工具将非常好

  • 您可以非常轻松地将其放入可执行JAR的Java实现:
  • bash脚本:
  • 最后,如果您不介意使用7zip,一个与Windows兼容的脚本:

    • 马特的回答很有帮助,但有时能把它写出来给你也不错

      下面是我为解决这个问题而编写的shell脚本,我实际上在Cygwin中运行了这个脚本,但也可能在Linux中运行。它将解压和战争,耳朵,或罐子,并不断解压,直到递归,直到没有留下。然后,您可能希望在结果目录上使用“diff-r ear1.ear-contents ear2.ear contents”来比较两个ear文件

      #!/bin/sh
      
      rm -rf ${1}-contents
      mkdir ${1}-contents
      
      echo "Unpacking ${1} to ${1}-contents"
      unzip -d ${1}-contents ${1}
      
      cd ${1}-contents
      
      FILES_TO_PROCESS=`find . -type f \( -name "*.ear" -or -name "*.war" -or -name "*.jar" \)`
      
      until [ "$FILES_TO_PROCESS" == "" ] ; do
      
          for myFile in $FILES_TO_PROCESS ; do
      
              mkdir ${myFile}-contents
              echo "Unpacking ${myFile} to ${myFile}-contents"
              unzip -d ${myFile}-contents ${myFile}
              rm $myFile
      
          done
      
      
          FILES_TO_PROCESS=`find . -type f \( -name "*.ear" -or -name "*.war" -or -name "*.jar" \)`
          echo "recursing to process files: $FILES_TO_PROCESS"
      done
      

      如果它真的是你的项目,你应该有来源吗?在任何情况下,都可以使用ZIP命令提取EAR,WAR文件也是如此。或者,您是在问如何将EAR作为分解的归档文件部署到应用服务器吗?是的,这是我的来源。我想知道是否有一个自动化的工具来做到这一点,因为有很多战争的耳朵。我想我要做的唯一一件事就是将EAR部署为一个分解的归档文件,就是将EAR的内容复制到一个名为“.EAR”的文件夹中,对吗?我想知道是否有一个自动化的工具可以做到这一点,因为EAR中有很多战争。不是以编程方式,我的意思是,我不想从代码中分解EAR。用于windows的命令行工具将非常好。