目前有个公共资源的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就自动把相关的文件拷贝到引用的工程里边。
不知道有没有这样的可能,或者得自己写个插件?
分享到:
相关推荐
JS、CSS 合并压缩工具是用于优化前端资源加载效率的重要工具,它们能够将多个 JavaScript 和 CSS 文件合并为一个文件,并进行压缩,减少网络请求次数,从而提高网页加载速度。本篇将详细介绍名为 TomsTools 的一套 ...
如果项目中使用了ES6的模块系统(import/export),可以利用Webpack或Rollup等模块打包工具,将多个JS文件合并成一个或几个文件,实现代码分割和按需加载,提升性能。 6. **自动化工作流**: 自动化工具如Gulp、...
5. **静态资源服务**:在Web应用中,公共资源模块可能包含一个静态资源服务器,用于处理CSS、JavaScript和图片等。Spring Boot的Spring Resource Handling提供了一种内置的方式处理静态资源。 6. **国际化与本地化*...
项目中的文件还包括了一个.gitignore文件,该文件用于指定在使用Git版本控制系统时,哪些文件是不需要被追踪的,比如编译生成的文件、日志文件等,这样做可以避免版本控制中产生不必要的垃圾数据。LICENSE文件则是...
这个压缩包"bootstrap_css_js_fonts"包含了Bootstrap的核心元素,主要包括CSS样式表、JavaScript文件以及字体资源。 首先,我们来看看CSS部分。Bootstrap的CSS文件是框架的核心,它们定义了各种UI组件的样式,如...
而.gitignore文件则用于Git版本控制,忽略特定的文件或目录,不将其纳入版本控制当中,从而保护项目中的敏感数据不被上传到公共代码库。 最后,项目中的libs目录可能存放了JavaScript的库文件,这些文件是预先打包...
同时,将全局样式放在一个单独的文件中,有利于维护和组织代码,避免在多个组件之间重复编写相同的样式规则。 总的来说,Vue Element项目中的`styles`文件是项目样式管理的核心部分,它负责存储和管理全局样式,...
2. **错误检查和警告**:在编写CSS时,插件会实时检测代码中的错误和潜在问题,如无效的选择器、未定义的属性等,并给出相应的警告或错误提示,帮助开发者及时发现并修复问题。 3. **CSS预览**:一个强大的CSS插件...
本项目中的城市公共交通查询平台设计源码,通过Java、JavaScript、CSS等技术的综合应用,实现了城市公共交通信息的全面查询功能。该平台不仅具备高效的数据处理能力,还提供了用户友好的交互界面,为城市居民的日常...
项目中还包含了.gitignore文件,这个文件在使用Git版本控制系统时非常有用,它指明了哪些文件或目录不希望被Git跟踪,如临时文件、编辑器自动生成的文件等。composer.json文件则记录了项目所依赖的外部库,通过...
由于该项目文件数量较多,可能涵盖了微课平台的各个功能模块,如用户认证、课程展示、互动讨论等,每个模块都可能有一个或多个文件进行专门的处理。这个项目不仅展示了前端技术的应用,也体现了良好项目结构设计的...
在系统文件结构方面,压缩包内包含了多个关键文件和文件夹。例如,"sensitive_config.ini.example"很可能是点菜系统的配置文件示例,其中可能包含了数据库连接信息、系统参数等敏感信息。而".gitattributes"、...
公共资源模块通常指的是那些在多个组件或服务之间共享的类库、配置文件、模板、静态资源等。这些资源可能包括但不限于:数据库连接池、日志系统、国际化文本、图片、CSS和JavaScript文件等。设计一个有效的公共资源...
本资源包集合了作者在实践中遇到的一些常见问题及其解决方案,主要关注HTML页面、浏览器兼容性、JavaScript以及CSS样式的应用。以下将对这些知识点进行详细阐述。 1. **浏览器兼容性问题**:由于不同的浏览器对CSS...
考务管理系统共包括161个文件,这些文件被细分为多个类别,涵盖了系统开发的方方面面。其中,41个Java源文件涉及系统的核心业务逻辑处理,它们可能包括考试安排、成绩管理、用户权限控制等功能模块;28个JavaScript...
CSS(Cascading Style Sheets)用于控制网页的外观和格式,它定义了网页上元素的排版、颜色、字体等视觉表现形式。一个精心设计的CSS样式表,能够使信息收集手册的界面更加美观、易用,同时也能适应不同分辨率的屏幕...
.idea目录下可能包含了开发工具的配置文件,public目录下可能存放了公共资源文件,vendor目录下可能存放了第三方库文件。 该项目的标签包括HTML、JavaScript、PHP、CSS和Python,这些标签代表了项目所采用的技术栈...
public目录则可能包含了公共资源,如图片、JSON配置文件等,这些资源可能会被直接引用到项目中,或在构建过程中被处理。 为了项目能够更好地进行版本控制,项目中还包含了.gitignore文件,用于声明不希望加入版本...
在Java编程领域,公共资源模块的设计与开发是软件工程中至关重要的一部分。这个压缩包"JAVA公共资源模块的设计与开发(源代码).rar"包含了相关的源代码和可能的论文文档,旨在提供一个学习和实践的平台,帮助开发者...