Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的部署脚本将使用什么?_Java_Deployment_Maven 2_Ant - Fatal编程技术网

Java中的部署脚本将使用什么?

Java中的部署脚本将使用什么?,java,deployment,maven-2,ant,Java,Deployment,Maven 2,Ant,我正在从事一个JavaWeb项目,该项目使用Maven构建其构件。在Maven构建的最后,我们有一些jar和war文件需要部署到开发/测试环境中 现在我们正在使用一个相当强大的Ant脚本,它可以执行多个任务(在Windows/Linux机器上) 启动/停止服务 复制/删除文件 构建一些东西,然后执行它 等 Ant的工作做得很好,但是脚本很快变得非常庞大,老实说,它感觉不足以完成手头的任务 还有其他选择吗?我听说过甘特,但我不确定这是正确的方法 谢谢你的帮助 编辑:经过更多的研究,我发现了Gr

我正在从事一个JavaWeb项目,该项目使用Maven构建其构件。在Maven构建的最后,我们有一些jar和war文件需要部署到开发/测试环境中

现在我们正在使用一个相当强大的Ant脚本,它可以执行多个任务(在Windows/Linux机器上)

  • 启动/停止服务
  • 复制/删除文件
  • 构建一些东西,然后执行它
Ant的工作做得很好,但是脚本很快变得非常庞大,老实说,它感觉不足以完成手头的任务

还有其他选择吗?我听说过甘特,但我不确定这是正确的方法

谢谢你的帮助


编辑:经过更多的研究,我发现了Gradle——它似乎是重用ant任务和允许运行真实脚本的一个很好的组合。值得一读。

如果这是一个大任务,您可以用Java或Jython编写ant任务,并从ant调用它们

是的,看看maven的插件:


-一个持续集成引擎-也可以用来完成这些任务。

总体而言,部署并不容易(而且通常非常具体),虽然可能有助于远程部署war/ear(如果为您的应用服务器实施远程部署),但我认为它不能满足您的所有需求。事实上,这很难精确,因为这个问题很模糊,所以我只给出一些建议。请查看以下解决方案:


    • 这似乎也是2017年的一个公开问题。 搜索“java部署脚本”首先指向这个问题,也指向Ant和其他一些无关的文章

      在撰写本文时,我正在从事的项目有6-7个JAR文件,我们将其放在tomcat的lib/文件夹中,还有20-30个WAR小文件,我们将其放在webapps/中。我们有一个部署脚本,可以从Bamboo服务器下载并扩展包含所有内容的归档,但在开发过程中不可用。手动部署所有这些都是一场噩梦

      因此,我启动了自己的Python脚本,最初将在tomcat实例中部署几个JAR和WAR

      现在它是一个跨平台部署工具(在Windows和Mac上测试),语言和服务器不可知,可通过JSON文件配置。 它可以:

      • 复制和删除库和应用程序

      • 运行本地和远程(通过SSH)命令

      • 暂停

      由于您可以在远程服务器上运行命令,因此可以通过Shell命令执行许多操作(我们使用它们来启动/停止tomcat、等待它启动/停止、删除日志等)


      部署脚本已打开。

      我遇到了同样的问题,在工作(linux环境)时,我们使用小java程序进行部署,使用monit脚本启动和停止服务,并将其绑定在shell脚本中。虽然仍然很混乱,但并不能真正解决windows中的问题……是的,这是一个很好的方向。但我仍然缺少使用Ant获得的copy/scp/sshexec部分……这是以不同的方式完成的——通过服务器公开的服务。例如,Tomcat有manager应用程序,Hudson使用它。我不知道货物是如何工作的。
      * Deploying to a running container
      * Generating a container configuration deployment structure
      * Merging WAR files
      * Starting and stopping a container