以Eclipse友好的方式跨多个项目共享筛选的资源
短版: 寻找建议,以某种方式将包含公共版权信息、项目名称、版本、inceptionYear和currentYear的过滤资源文件分发到多个项目,使用Eclipse中的m2e插件时不会出现错误 说明: 现在,我们有一个项目buildInfo,它包含一个属性文件,其中包含${project.name}、${project.version}、${inceptionYear}、${currentYear}等内容 我们有一个parent.pom,它执行以下操作:以Eclipse友好的方式跨多个项目共享筛选的资源,eclipse,maven,jar,m2eclipse,m2e,Eclipse,Maven,Jar,M2eclipse,M2e,短版: 寻找建议,以某种方式将包含公共版权信息、项目名称、版本、inceptionYear和currentYear的过滤资源文件分发到多个项目,使用Eclipse中的m2e插件时不会出现错误 说明: 现在,我们有一个项目buildInfo,它包含一个属性文件,其中包含${project.name}、${project.version}、${inceptionYear}、${currentYear}等内容 我们有一个parent.pom,它执行以下操作: 使用buildhelpermaven插件
- 使用buildhelpermaven插件定义currentYear属性:timestamp属性目标
- 使用dependency:unpack-goal将buildInfo属性文件解压缩到${project.build.directory}/buildInfo/${project.artifactId}
- 使用资源:复制资源目标将属性文件复制并筛选到目标/类
- 我们将这两个目标的执行移到了包阶段,这应该是m2e非有趣的阶段,但仍然会出现错误(请参阅:)
- 我们添加了配置为忽略时间戳属性目标的lifecycle mapping插件,但令人恼火的是,它仍然在签出时给出错误,然后在签出后消失
- 我们还添加了忽略解包目标的配置
/Henrik我将maven远程资源插件用于类似目的,如中所述。我仍然需要在POM中添加m2e生命周期映射的内容,我使用了
操作。在mvn
命令行和Eclipse中工作得非常好
我遇到的唯一问题是,如果我对资源文件进行编辑,Eclipse有时似乎会对其持有某种类型的锁定;然后,下面的
mvn clean
报告“无法删除文件,因为它正在使用中。”在Eclipse中的资源项目上运行“更新项目配置”可以更正此问题。我接受这个痛点,因为至少我可以避免重复,而且我不想经常编辑共享资源。(我也希望最新的Eclipse(我还没有升级到Eclipse)会有所帮助!)我使用maven远程资源插件也有类似的用途,如中所述。我仍然需要在POM中添加m2e生命周期映射的内容,我使用了
操作。在mvn
命令行和Eclipse中工作得非常好
我遇到的唯一问题是,如果我对资源文件进行编辑,Eclipse有时似乎会对其持有某种类型的锁定;然后,下面的mvn clean
报告“无法删除文件,因为它正在使用中。”在Eclipse中的资源项目上运行“更新项目配置”可以更正此问题。我接受这个痛点,因为至少我可以避免重复,而且我不想经常编辑共享资源。(我也希望我还没有升级到的最新月食会有所帮助!)