`
aimer311
  • 浏览: 94460 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

多个工程中,关于公共资源【js,css】等版本控制的问题

    博客分类:
  • java
阅读更多
    目前有个公共资源的resource project,其他工程需要的资源文件都是从该工程引用的,这就涉及到多个工程引用不同版本的资源文件的问题。我们知道对于java工程,引用不同的jar文件就可以,而resource工程就是个难题。
比如A和B工程都需要引用resource工程,有时候更新了resource,这时候只想升级A工程,B工程可能因为另外的原因不想升级,那么B工程需要引用旧的版本的resource资源。这几个工程的引用关系如何管理?
我们目前使用maven进行项目管理,要解决上面的问题我觉得需要解决以下几个问题:
1、resource工程能自动发布,maven已经实现 ok
2、在A工程能够引用特定的resource版本
<dependency>  
   <groupId>com.resource</groupId>  
   <artifactId>resource-webapp</artifactId>  
   <version>20120424.1</version>  
   <type>war</type>  
   <scope>runtime</scope>  
</dependency> 
 

这个引用方式的实际意义不是我想要的,maven好像是吧resource工程的内容拷贝到了A工程,常见第四点的说明
3、使用eclipse javaee版开发时接使用上面的resource版本,为了开发上面的方便。
  比如部署server的时候不能直接引入resource工程(这样使用的是最新版本),而应该是带有某个版本号的war文件
4、打包A工程时直接打包resource的特定版本的文件
我看了下使用maven打包A工程后的war文件,其实是把resource工程的文件复制到了A工程的war文件,但是这个不是我想要的,我们还是要分开打包,两个工程还是独立部署的。资源文件你可能想部署在另外的服务器上

任何意见都非常感谢


补充:
现在想到针对可能引起版本冲突,或者因为版本升级带来的其他项目的问题,目前主要是因为js升级引起的,所以想对js进行特殊处理。
具体处理:
把指定版本的js拷贝到具体的项目中,具体的项目使用这些拷贝到js。打包的时候也是打包到具体的项目中。

1、使用这个依赖关系
<dependency>  
   <groupId>com.resource</groupId>  
   <artifactId>resource-webapp</artifactId>  
   <version>20120424.1</version>  
   <type>war</type>  
   <scope>runtime</scope>  
</dependency> 
 
2、然后在maven-war-plugin中设置只拷贝js文件。具体如下:
              <!-- 配置打包js工程的文件,目前只需要js目录下的文件而已 -->
             
<overlay>
		                <groupId>com.resource</groupId>
		                <artifactId>resource-webapp</artifactId>
		                <includes>
		                  <include>js/**</include>
		                </includes>
		              </overlay>
		            </overlays>	

但是目前还有个问题。这样配置只是在打包的时候才拷贝过去,而对于开发阶段也是一个不方便的地方。我希望在开发阶段也拷贝过去(想想jar就是这样的),就是说当我配置了dependency后,maven就自动把相关的文件拷贝到引用的工程里边。

不知道有没有这样的可能,或者得自己写个插件?
分享到:
评论
1 楼 lirui_andy 2014-03-26  
Hi, 两年后的今天我也遇到类似问题, 百度把我引到你这里来了.

想知道您的最终方案.

我现在的情况是, 有N个web工程(A,B,C), 每个工程中有自己独有的css/js, 但整个site下又有公用的css/js. 现在没有好的解决办法.

我想到的方案是, 单独创建resource web工程, 为其设置独立的二级域名(如res.d.com) 其它A/B/C都有自己的二级域名. 这样,A/B/C 工程页面中使用res.d.com引用js/css. 这样我觉得实际部署的时候不会有问题, 也能实现resource单独部署的目标.  复杂点的就是开发环境也得安装类似nginx的代理,并且进行相应配置.

相关推荐

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    市场上相应的检测平台诸如检测通、凡特网等皆为pc端检测网站,并且操作繁琐不够人性化,用户在实地使用中存在很多问题。昆山工业技术研究院着眼于为委托用户和质检机构搭建良好的沟通桥梁,免去目前市场业务中企业...

    NET公共类库[转发]

    客户端代码精简类 JavaScriptMinifier.cs 转换原始Js内容的精简版本 HTML格式辅助类 HtmlUtils.cs 处理HTML,脚本的特殊字符或过滤 数据压缩类 GZipHandler.cs 对传输的数据进行压缩 ?DLL Dll Name AjaxPro.dll ...

    webpack-demo:一份基础的webpack配置,包含解析sass,提取(多个)css文件,热更新替换,开发线上环境区分,jQuery插件引入,页面文件资源引入,模块异步加载 等基础功能的配置

    一份基础的webpack3配置指南,包含解析Sass/ES6,提取(多个)CSS文件,公共文件,热更新替换,开发线上环境区分,jQuery插件引入,页面文件资源引入,编写插件,模块异步加载 等基础功能 请移步使用,在笔者的中小...

    ExtAspNet_v2.3.2_dll

    +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,...

    asp.net知识库

    ADO.NET 2.0 大批量数据操作和多个动态的结果集 ADO.NET 2.0 异步处理 在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+...

    客户端统一验证JavaScript函数库及示例源码

    同时提供许多常用的公共函数如类似C#中Trim()方法等。 使用ChkInputs.js,会将光标定位到验证不通过的控件上,若控件上有文本同时将其文本选中高亮度显示,不会刷新页面,只有当所有验证通过时才会将结果提交到后台...

    MF00492-ASP.NET企业人力资源管理.zip

    2、权限管理控制模块可通用到其他系统中,是个比较完善的公共权限控制模块,权限控制按角色进行控制,页面权限可控制到按钮。 3、员工档案打印,系统采用Lodop打印控件,可在线打印员工档案信息,打印速度快。并可以...

    KODExplorer 芒果云-资源管理器

    - 公共目录支持(多个用户可以共享目录,写权限跟随用户组权限设定) - 自动升级优化 - 文件管理工具栏 增加菜单选项,方便移动设备操作 - 文件编辑器,文件树目录 上下左右键盘切换 快捷键加入 - 树目录去掉库,改...

    Java资源包01

    目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服务,这些都足以说明OAUTH标准逐渐成为开放资源授权 的标准。 Java的命令行处理类库 JArgs JArgs 是一个 Java 语言用来...

    Wordpress模板 大前端3.0源码

    去除主题设置中的360公共资源库引用 修改图片lazyload缩略图的判断方式 其他小问题的修复 DUX主题功能 SEO优化: 完美的基础SEO优化、首页关键字和描述自定义、文章关键字和描述的自定义 速度优化: 图片和头像lazy...

    java面试题及技巧3

    │ 164个完整Java代码.zip │ J2EE综合--Struts常见错误的全面汇总.txt │ java程序员面试资料.zip │ JAVA笔试题(上海释锐).pdf │ MIME简介.txt │ SCJP试题详解.pdf │ SQL面试题_心灵深处.htm │ Struts+...

    WordPress响应式模块化通用企业网站主题ZingV2.2.1.zip

    禁止WP默认缩略图 可禁止WordPress生成多个尺寸的缩略图,节省服务器空间资源 禁用古腾堡编辑器 如果你还没有习惯古腾堡,可以通过这个选项恢复到经典编辑器 移除顶部多余信息 移除WordPress Head 中的多余信息,...

    import-remote:导入远程模块

    import-remote 说明 一个远程加载JS模块的库。支持webpack4/5。 它的初衷是: 希望像html-webpack-plugin插件生成HTML入口文件那样生成一个JS入口文件;...JS/CSS资源异步获取,避免通过script、link加载资

    最新版vue前端面试题20230321整理

    14. Redux如何实现多个组件之间的通信,多个组件使⽤用相同状态如何进⾏行行 管理理 15. 多个组件之间如何拆分各⾃自的state,每块⼩小的组件有⾃自⼰己的状态,它们 之间还有⼀一些公共的状态需要维护,如何思考...

    蓝色OA管理页面模板,用于前后端交互

    │ │ ├── H-ui.ie.css H-ui.css IE低版本兼容补丁 │ ├── images/ 图片资源 │ ├── js/ │ │ ├── H-ui.js H-ui核心脚本 ├── h-ui.admin/ H-ui.admin核心资源 │ ├── css/ 样式 │ │ ├── H-...

    GoodProject Maven Webapp.zip

    2、自定义身份属性:图灵机器人平台所提供的ChatBot支持充分的机器人一体化身份属性自定义,开发者通过平台页面对机器人的20多个常见属性进行快捷设置,打造具备个性化身份属性的ChatBot。[2] 3、情感识别引擎:图灵...

    spring-data-build:用于集中Spring Data Maven构建的公共资源和配置的模块

    项目设置常规设置父项目配置项目构建的以下方面: 共享资源从spring-data-build-resources依赖项(图像,CSS,JavaScript)中获取。 从src/asciidoc名为index.adoc Asciidoc文件中呈现参考文档。 在distribute概要文

    webpack4-html-demo:一个普通html项目的打包方案

    commons放公共资源 views放页面,必须遵循name/name.js,name.css,name.html格式 main.js用来引入公共资源此打包方案会自动读取src/views/下的目录,并将目录下的css,js打包进目录下的html,无需在html里link、srcipt...

Global site tag (gtag.js) - Google Analytics