首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >项目组织形式

项目组织形式
EN

Stack Overflow用户
提问于 2010-04-23 21:37:34
回答 3查看 452关注 0票数 2

我创建了几个使用相同静态文件(css、js、图像)的web应用程序。当我使用svn进行版本控制时,我使用外部存储库(svn: external add )将文件添加到当前项目中。例如:

代码语言:javascript
复制
- 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?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-04-23 22:43:26

对于基于Maven的解决方案,你可以使用WAR Overlays,在多个web应用程序之间共享公共资源正是覆盖的目的。

票数 2
EN

Stack Overflow用户

发布于 2010-04-23 22:51:57

Perforce支持将从仓库到硬盘的多个映射定义为客户端规范的一部分。例如,您可以设置以下内容:

代码语言:javascript
复制
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来构建每个“项目”,事情就会进展得更顺利。

票数 3
EN

Stack Overflow用户

发布于 2010-04-24 00:34:21

看起来你有两个选择,都叫做覆盖:

a) @Pascal建议的Maven overlays。然后,像@Goyuix这样的结构建议从Perforce中签出静态内容。

b) Perforce overlays,它允许您有两个不同的工作区/客户端规范,每个项目一个,并在每个规范中将静态内容导入到文件系统中的预期位置。这是与您之前使用的subversion结构最接近的匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2698962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档