Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Maven 2 performe中的项目组织_Maven 2_Perforce_Project Organization - Fatal编程技术网

Maven 2 performe中的项目组织

Maven 2 performe中的项目组织,maven-2,perforce,project-organization,Maven 2,Perforce,Project Organization,我创建了几个使用相同静态文件(css、js、图像)的web应用程序。 当我使用svn进行版本控制时,我使用外部存储库(svn:externals)将文件添加到当前项目中。 例如: - Project_1 ---- Webapp -------- Static (external to static's repo) - Project_2 ---- Webapp -------- Static (external to static's repo) 我可以通过添加像/static/…这

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

- Project_1 
---- Webapp 
-------- Static (external to static's repo) 
- Project_2 
---- Webapp 
-------- Static (external to static's repo)
我可以通过添加像/static/…这样的链接,轻松地在他们的网页中使用它

但现在我们公司已经搬到了Performance。 我如何支持当前的结构

我们也使用maven,我想把这些文件打包成一个jar并作为依赖项使用,但是我的编辑器(idea)没有看到这种依赖是js脚本和样式。 我需要在创建小更改时重新打包和部署jar文件


如何正确使用maven?

对于基于maven的解决方案,您可以使用,跨多个web应用程序共享公共资源正是覆盖的目的。

Performance支持在客户端规范中定义从仓库到硬盘驱动器的多个映射。例如,您可以设置以下内容:

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来构建每个“项目”,事情就会进展得更顺利。

似乎你有两个选择,都称为覆盖:

a) 正如建议的那样。然后,您可以使用类似于建议从Perforce签出静态内容的指令


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

很抱歉-我看到了perforce,我看到了overlay,并假设您正在谈论perforce overlays-我真的应该关注您的链接。我可以删除我的评论,但这会让你的评论看起来不合适……我已经发布了我自己的答案,涵盖了这两种覆盖:-)。我决定使用战争覆盖。但我有一个麻烦。是否可以从maven为overlay创建的工作目录创建和部署war文件?我需要它,因为我不仅使用,而且编辑文件。我需要在应用程序之间同步这些源。我需要打包并部署到artifactory。它有一个问题。Perforce允许在每个工作区映射某个文件夹一次。