请原谅我提出一个新手问题,但是 dist 和 deploy 文件夹有什么区别?看起来像是同一件事 - 都包含文件的 .jar。但是,当您清理并构建项目时,看起来只有 dist 文件夹被更新。部署文件夹如何更新?
Thanks.
我假设您使用的目录布局类似于 Netbeans IDE 默认创建的目录布局。
-
dist
是存储生成的档案的文件夹(因此它可以通过 clean 和 build 进行更新)。
-
build
文件夹包含已编译的类和资源,但不包含压缩档案。
默认情况下,Maven 将两者的内容放入target
folder.
A deploy
文件夹是放置生成的工件(存档或与存档具有相同布局的目录树,也称为分解存档)的位置,以便应用程序服务器可以为其提供服务。
在开发环境中,配置服务器来扫描数据并不罕见。dist
生成的工件的文件夹并重新部署它们。因此,从这个意义上说,deploy 和 dist 文件夹可以是相同的。
您甚至可以拥有“就地”部署方案。这是通过将你的类直接编译到WEB-INF/classes
里面的文件夹webapp
(像 Maven 这样的东西war:inplace
目标)。如果您将服务器设置为扫描此文件夹中的更改,则可以就地编辑 jps 等资源,并将其立即反映到正在运行的应用程序中(也称为分解工件热部署)。
当然,您可以通过指示 IDE 将资源和已编译的类复制到分解的存档结构并配置服务器来扫描它来完成类似的操作。 Netbeans 倾向于使用build/web
为了这个目的。
此外,有时增量重新部署是不可能的,并且通常不需要完全重新部署(某些应用程序可能需要几分钟才能重新部署)。这就是为什么您可以使用单独的文件夹/将工件部署为 jars/wars/ears 等。
编译、打包和部署是构建生命周期中非常不同的阶段/概念,它们可能会或可能不会同时发生。
我希望这些信息足以让您继续前进。
Cheers,
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)