Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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 是否将war部署到nexus存储库_Java_Maven_Deployment_War_Nexus - Fatal编程技术网

Java 是否将war部署到nexus存储库

Java 是否将war部署到nexus存储库,java,maven,deployment,war,nexus,Java,Maven,Deployment,War,Nexus,之所以提出这个问题,是因为我们的主war文件大小约为40MB(在整个项目中它不是一个war文件)。所有剩余的jar文件大约是20MB,因此,如果我们不部署WAR,每个版本占用的空间将是原来的3倍 所以,也许有一个选项可以不部署整个war文件,而只部署资源,这样部署团队就可以从Nexus构建它了?若我跳过构建war文件的模块的部署,那个么若并没有对源代码的访问,部署团队就无法构建它 在公司本地存储库中部署war文件是常见做法吗?对于每次更改-将nexus作为快照推送 在持续集成开发实践的过程中——

之所以提出这个问题,是因为我们的主war文件大小约为40MB(在整个项目中它不是一个war文件)。所有剩余的jar文件大约是20MB,因此,如果我们不部署WAR,每个版本占用的空间将是原来的3倍

所以,也许有一个选项可以不部署整个war文件,而只部署资源,这样部署团队就可以从Nexus构建它了?若我跳过构建war文件的模块的部署,那个么若并没有对源代码的访问,部署团队就无法构建它


在公司本地存储库中部署war文件是常见做法吗?

对于每次更改-将nexus作为快照推送

在持续集成开发实践的过程中——并行开发,用最新的开发更改更新nexus是一个永无止境的过程,无论大小

运行部署目标并提供更新的工件是最佳实践

对于从事这项工作的团队——无论是部署团队、测试团队还是其他开发团队,都将开始使用更改

有两个营地。一个阵营说:部署(实际上传)每个工件到Nexus。这样,每个工件的过程都是相同的,每个人都知道在哪里可以找到它。
另一个阵营说:只将Nexus用作依赖项存储库。如果您的war文件是最终产品,并且它不是其他项目(如ear文件)的依赖项,那么就没有理由将其上载到Nexus。在这种情况下,您可以将war上载到共享或scm位置,然后从那里分发。

一般来说,我建议您将war上载到Nexus,并让您的运营团队从Nexus获取war进行部署。在Nexus服务器已经运行以管理二进制文件之后。为什么仅仅因为构建输出是一个war文件而不是一个jar或其他东西,就将其拆分并使用不同的存储。这只会让事情变得更加复杂,没有什么好的理由

true
<maven.deploy.skip>true</maven.deploy.skip>
设置此属性maven pom文件可以解决此问题


maven deploy插件有一个skip属性:

如前所述,如果您将war部署到nexus,那么过程总是一样的,我可以推荐。今天硬盘的大小真的是一个问题吗?我对文件夹lib/*犹豫不决,它包含大量第三方lib,我们必须以这种方式存储(spring、hibernate等)。我们不能上传除lib文件夹之外的所有内容吗?然后DT上传带有资源的war(依赖项除外),maven然后自动下载所有必需的依赖项?