当前位置: 首页 > 知识库问答 >
问题:

maven-remote-resources-plugin不在/target/classes中存放资源

姬高扬
2023-03-14

我试图使用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目录中。

提前感谢您的回答。

共有1个答案

戴品
2023-03-14

最后一切都很好。

不知道是我没有看到创建的文件夹(默认情况下是${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里分布出来,集中到数据库服务器中去,使你的网站页面维护更加敏捷。