Java 在eclipse中将另一个项目的资源文件发布到上下文路径而不是jar文件

Java 在eclipse中将另一个项目的资源文件发布到上下文路径而不是jar文件,java,eclipse,maven,eclipse-wtp,Java,Eclipse,Maven,Eclipse Wtp,我有一些常见的资源文件,如基本JS、CSS文件和HTML文件,这些文件将由两个maven项目/模块使用。我已经将这些文件移到了一个公共项目中,并将其作为两个项目的依赖项包括在内。公共项目作为jar文件发布,我不想从jar文件(使用ClassLoader的东西)提供文件 是否有办法将公共项目资源复制到实际的项目上下文文件夹中,如: COMMON_PROJECT/src/main/webapp/login.htmltoWEBAPP1/src/main/webapp COMMON_PROJECT/sr

我有一些常见的资源文件,如基本JS、CSS文件和HTML文件,这些文件将由两个maven项目/模块使用。我已经将这些文件移到了一个公共项目中,并将其作为两个项目的依赖项包括在内。公共项目作为jar文件发布,我不想从jar文件(使用ClassLoader的东西)提供文件

是否有办法将公共项目资源复制到实际的项目上下文文件夹中,如:

COMMON_PROJECT/src/main/webapp/login.html
to
WEBAPP1/src/main/webapp
COMMON_PROJECT/src/main/webapp/login.html
to
WEBAPP2/src/main/webapp


实际需求:我不想将公共文件发布为jar文件,因为稍后这些文件将从war文件中移出,并直接放在Ngnix服务器中。从这个角度来看,有些人能提供更好的管理指南吗

使用Maven,您可以将您的公共项目声明为依赖项,这样它的资源就可以在其他项目中共享。您必须使用最新的m2eclipse插件,并将WTP集成到。

我尝试使用@Eugene Kuleshov回答的插件,但该插件与最新的m2e版本存在依赖性问题

经过一些搜索,插件(更新站点:
http://download.jboss.org/jbosstools/updates/m2eclipse-wtp/
)支持精确的web覆盖功能

这需要最新的插件(1.0+)(更新站点:
http://download.eclipse.org/technology/m2e/releases/

安装
m2e wtp
后,我们需要从
m2e
目录安装
buildhelper
生命周期映射器

  • Window>Preferences>Maven>Discovery>opencatalog
  • 安装
    lifecyclemappings>buildhelper
只有在这些
m2e
m2e-wtp
插件的最新版本中,才支持weboverlays(我们在
Project properties>Builders
中看到的旧Maven builder无法做到这一点)


然而,对于正常的Maven构建,覆盖是开箱即用的。默认情况下,Maven war插件(不是eclipse插件)将在Maven构建项目时将资源文件从依赖项war(也是jar)复制到上下文路径中<如果我们想在这个过程中获得更多的控制权,比如一些排除,代码>覆盖是必需的。

您可以将您的资源文件作为war项目提供。
然后使用使您的两个项目导入war(及其资源)

谢谢。我发现
缺少需求:m2eclipse和eclipse webtools 0.1.0.201004101956(org.maven.ide.eclipse.wtp.ext.feature.feature.group 0.1.0.201004101956)的扩展需要“org.maven.ide.eclipse.wtp”[0.10.0,0.11.0)”,但在安装插件时找不到它
,我尝试了一些旧版本,如某些问题中所述,但没有成功。有什么帮助吗?您的评论为我指明了正确的方向,并最终搜索了
m2e
m2e wtp
插件的新版本。我已经添加了详细信息作为答案。谢谢这个插件,从Eclipse构建也会发布覆盖图吗?从未从IDE尝试过。我只是添加以更改配置文件。新文件和覆盖文件都在生成的war中。