我试图使用maven-remote-resources-plugin在多个项目中共享远程资源。
我在\src\main\resources中有一个包含资源文件的jar。pom是:
...
<build>
<plugins>
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>bundle</goal>
</goals>
<configuration>
<includes>
<include>*.*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
当我在这个项目上运行mvn install时,它会创建\target\classes\meta-inf\maven\remote-resources.xml文件,其中包含\src\main\resources中的所有文件。
这似乎是正确的。
问题出在需要资源的项目上。我在pom里有这个:
...
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle><groupId>:<artifactId>:<version></resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
...
[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ <project> ---
Downloading: <repository>/<groupId>/<artifactId>/<version>/maven-metadata.xml
781/781 B
Downloaded: <repository>/<groupId>/<artifactId>/<version>/maven-metadata.xml (781 B at 38.1 KB/sec)
所以看起来资源包被找到并下载了。
在maven-remote-dependency-plugin的Apache文档中说:
这将从POM中指定的远程存储库中检索apache-jar-resource-bundle-1.0.jar,处理包中的每个资源,并将它们存放在projects$basedir/target/classes目录中。
提前感谢您的回答。
最后一切都很好。
不知道是我没有看到创建的文件夹(默认情况下是${project.build.directory}/maven-shared-archive-resources
,而不是像文档中所说的${basedir}/target/classes
)还是我安装/部署的资源项目中出现了问题。
但是,通过上面的代码,我可以将所有资源复制到具有资源依赖关系的项目的${project.build.directory}/maven-shared-archive-resources
目录中(那些在pom中定义流程目标的项目)。
如果希望更改复制资源的目录,只需在pom.xml
的流程目标配置中添加
选项。
我有Eclipse Maven GWT项目,并且添加了使用LiquiBase的依赖项。Liquibase正在搜索变更日志文件,但发现了两个! 所以我调试了它,它从目标目录中找到了一个资源: 和其他资源: 是否有方法忽略其中之一,或者是我的构建路径或依赖项定义错误? 我的生成路径包含: null Maven GWT插件具有配置参数,但我测试了、和并发生了相同的错误。 在网上搜索,我在flowable
null null WEB-INF 类 com... 图像 字体 JS CSS messages_en.properties 为什么maven将所有资源放在classes文件夹下?我的文件夹结构错了吗?
有没有人知道怎么才能完全避免呢?它往往会中断相当耗时的构建:-/
我正在将一个现有的项目(遗留)移到Maven。其结构如下: 我打算有两个不同的概况:生产和开发。在production profile中,/warmodule/src/main/resources/prod/index.jsp应该组装到views/war目录中。在开发概要文件中,/warmodule/src/main/resources/dev/index.jsp应该复制到views/war目录中
想法? 谢了。
如果你仅仅是修改了网页模板,为什么要重新打包部署war包这么麻烦呢?本插件帮助使用了struts2框架的开发团队,实现将网页模板从jar里分布出来,集中到数据库服务器中去,使你的网站页面维护更加敏捷。