使用Java创建WAR文件

使用Java创建WAR文件,java,tomcat,war,Java,Tomcat,War,如何使用Java以编程方式为ApacheTomcat服务器创建可部署的WAR文件 有这样的图书馆吗 我正在为特殊目的开发一个小型IDE。IDE是用Java和JavaScript编写的,所以我需要使用它们来创建WAR文件。您可以通过多种方法来实现这一点,举个简单的例子,如果您使用maven,您只需要使用WAR 你可以像前面提到的那样输出战争,但它并不完全是“程序化的” 如果您使用的是Ant-您可以找到这方面的教程您可以通过多种方法来实现这一点,例如,如果您使用的是maven,您只需要使用war 你

如何使用Java以编程方式为ApacheTomcat服务器创建可部署的WAR文件

有这样的图书馆吗


我正在为特殊目的开发一个小型IDE。IDE是用Java和JavaScript编写的,所以我需要使用它们来创建WAR文件。

您可以通过多种方法来实现这一点,举个简单的例子,如果您使用maven,您只需要使用
WAR

你可以像前面提到的那样输出战争,但它并不完全是“程序化的”


如果您使用的是Ant-您可以找到这方面的教程

您可以通过多种方法来实现这一点,例如,如果您使用的是maven,您只需要使用
war

你可以像前面提到的那样输出战争,但它并不完全是“程序化的”


如果您使用的是Ant,您可以找到这方面的教程,我不知道库,但是WAR文件只是一个有不同结尾的ZIP文件


只需创建内部文件夹结构和文件(用谷歌搜索java代码)并打包为zip(我认为java也有相应的方法,同样是谷歌),然后将文件从“myfile.zip”重命名为“myfile.war”

我不知道库,但war文件只是一个具有不同结尾的zip文件


只需创建内部文件夹结构和文件(用谷歌搜索java代码),并将其打包为zip(我认为java也有相应的方法,同样是谷歌),然后将文件从“myfile.zip”重命名为“myfile.war”

如果您想从代码构建它,请尝试使用
从命令行执行此操作

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("jar cvf /path/to/your/project/your-file.war");
当然,同样的事情也可以使用ANT或Maven(只要这些工具安装在最终的平台上)


编辑:添加了改进建议

如果要从代码中构建,请尝试使用

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("jar cvf /path/to/your/project/your-file.war");
<?xml version="1.0" ?> 
当然,同样的事情也可以使用ANT或Maven(只要这些工具安装在最终的平台上)

编辑:添加改进建议


<?xml version="1.0" ?> 


  • 只需编写一个build.xml文件(我已经给出了一个示例)
  • 更改“项目名称”和“war destfile”,将其更改为“../apache tomcat/webapps/projectname.war”
  • 把它放在你的项目文件夹里
  • 在eclipse中打开它
  • 右键单击它>>以>>ant build运行
  • 检查war文件是否在apache tomcat的webapps文件夹中创建
  • 
    

    
    

  • 只需编写一个build.xml文件(我已经给出了一个示例)
  • 更改“项目名称”和“war destfile”,将其更改为“../apache tomcat/webapps/projectname.war”
  • 把它放在你的项目文件夹里
  • 在eclipse中打开它
  • 右键单击它>>以>>ant build运行
  • 检查war文件是否在apache tomcat的webapps文件夹中创建

  • 我不知道你用你的IDE怎么做。但WAR文件具有以下结构:

    • web资源转到根目录
    • 项目类(包括它们的包文件夹)转到WEB-INF/classes文件夹
    • 项目依赖项jar转到WEB-INF/lib

    因此,如果要手动构建WAR,需要在扩展名为.WAR的zip文件中创建该文件结构,并且需要将其复制到服务器的适当位置以进行部署。大多数服务器还允许“分解部署”,这意味着您不需要实际的war文件,您只需将这些文件部署到与war同名的目录(即“myapp.war”)。

    我不知道如何使用您现有的IDE来实现。但WAR文件具有以下结构:

    • web资源转到根目录
    • 项目类(包括它们的包文件夹)转到WEB-INF/classes文件夹
    • 项目依赖项jar转到WEB-INF/lib

    因此,如果要手动构建WAR,需要在扩展名为.WAR的zip文件中创建该文件结构,并且需要将其复制到服务器的适当位置以进行部署。大多数服务器还允许“分解部署”,这意味着您不需要实际的war文件,只需将内容部署到与war同名的目录(即“myapp.war”)。

    不要使用Ant,而是使用maven。在我看来,它更强大,也更容易使用。不要使用Ant,而是使用maven。在我看来,它功能更强大,也更易于使用。我希望以编程方式创建它,而不是使用ANT脚本(除非我能够以编程方式访问这些脚本)。但我认为我不是,是吗?命令行命令不需要ANT。您可以通过java调用它们,它将为您创建文件。正如您所说,您正在实现一个自己的ide,我不知道您是否想要实现ant支持。我如何能够通过Java调用它们?只有使用
    Runtime.getRuntime().exec()
    命令,还是有更好的方法?我认为这是最佳实践Runtime rt=Runtime.getRuntime();Process pr=rt.exec(“您的命令”);我希望以编程方式创建它,而不是使用ANT脚本(除非我能够以编程方式访问这些脚本)。但我认为我不是,是吗?命令行命令不需要ANT。您可以通过java调用它们,它将为您创建文件。正如您所说,您正在实现一个自己的ide,我不知道您是否想要实现ant支持。我如何能够通过Java调用它们?只有使用
    Runtime.getRuntime().exec()
    命令,还是有更好的方法?我认为这是最佳实践Runtime rt=Runtime.getRuntime();Process pr=rt.exec(“您的命令”);这并不能回答问题。我想用Java以编程方式为我自己的IDE创建一个WAR文件。因此,使用第三个P