我创建了几个使用相同静态文件(css、js、图像)的web应用程序。当我使用svn进行版本控制时,我使用外部存储库(svn: external add )将文件添加到当前项目中。例如:
- Project_1
---- Webapp
-------- Static (external to static's repo)
- Project_2
---- Webapp
-------- Static (external to static's repo)我可以很容易地在他们的网页中使用它,只需添加一个链接,如/static/ ...
但现在我们的公司已经搬到了perforce。我如何支持当前的结构?
我们也使用maven,我认为将这些文件打包为jar并用作依赖项,但我的编辑器(idea)看不到这种依赖项是js脚本和样式。在创建小的更改时,我需要重新打包和部署jar文件。
如何正确使用maven?
发布于 2010-04-23 22:43:26
对于基于Maven的解决方案,你可以使用WAR Overlays,在多个web应用程序之间共享公共资源正是覆盖的目的。
发布于 2010-04-23 22:51:57
Perforce支持将从仓库到硬盘的多个映射定义为客户端规范的一部分。例如,您可以设置以下内容:
Client Name: Sample_Maven
Client Root: c:\inetpub\wwwroot
//depot/Project_1/Webapp/... //Sample_Maven/Project_1/...
//depot/Project_2/Webapp/... //Sample_Maven/Project_2/...
//depot/Shared/static/... //Sample_Maven/static/...
... any other folder mappings you need to bring in and sync ...Perforce本身不能处理共享静态文件夹情况的多个映射,你必须在你的文件系统中使用连接/符号链接来获得你想要的行为。不过需要注意的是,请确保只有一个共享的静态文件夹实际上是通过Perforce管理的。如果资源在它不知道这些变化的情况下从它下面被改变,它可能会变得有点暴躁。
实际上,您可能更好(如果您可以)-每个项目有一个单一的工作区/客户端规范-一个用于proj1,一个用于proj2,每个规范都有自己到共享静态文件夹的映射。如果你能合理地组织结构,并且仅仅使用maven来构建每个“项目”,事情就会进展得更顺利。
https://stackoverflow.com/questions/2698962
复制相似问题