当前位置: 首页 > 面试题库 >

如何编写Maven构建以将资源添加到classpath?

祝英博
2023-03-14
问题内容

我正在使用简单的maven安装使用maven来构建jar。如果我添加了文件,src/main/resources则可以在类路径上找到它,但是它有一个config文件夹,我希望该文件进入该文件夹,但是将其移动到config文件夹中会使它从类路径中消失。


问题答案:

如果您将任何内容放置在src/main/resources目录中,那么默认情况下它将以final结尾*.jar。如果您是从其他项目引用它的,但是在类路径中找不到它,那么您犯了以下两个错误之一:

  1. *.jar 未正确加载(可能是路径中的错字?)
  2. 您未正确寻址资源,例如:/src/main/resources/conf/settings.properties在类路径上看到为classpath:conf/settings.properties


 类似资料:
  • 我想在mvn包目标期间从依赖jar中添加资源,该资源位于myjar.jar:META_INF/public-Resources/myresource.sk到我的webapp/WEB-INF/myfile。有人可以提供建议吗,如何做到这一点?

  • 是否有一种方法可以禁用远程资源检索(也许有利于本地资源),最好是通过向Maven传递命令行参数,但如果不能,则通过修改Maven根POM的本地副本? 编辑:添加完整堆栈跟踪。似乎方法是使用来自Velocity的反射调用的,这使我认为一定有一个Velocity模板在某个Apache工件中引用,但是我在https://svn.Apache.org/repos/asf/maven/resources/的

  • 问题内容: 我正在使用maven构建可执行的jar文件,这意味着您可以使用“ java -jar file.jar”运行它。 我想依靠用户定义的属性(只是一个包含键/值的文件),在开发阶段,我将“ user.properties”文件放在maven / src / main / resources /文件夹中。 我的属性文件已加载: 现在,我想将该文件保留在JAR之外,并具有以下内容: 我尝试使用

  • 问题内容: 我需要JRE使用仅英语版本的JRE资源的翻译版本。 根据ResourceBundle.java文档,这很容易:使用正确的语言环境后缀添加本地化的资源。例如,标准 XMLSchemaMessages.properties 将成为翻译版本: XMLSchemaMessages_FR.properties 等等。 编辑:此特定文件位于:com \ sun \ org \ apache \ x

  • 问题内容: 我像这样将JBoss Maven存储库添加到我的pom.xml文件中… 我像这样添加了Hibernate本身… 但是,当我尝试构建我的应用程序时,会看到此错误…。 问题答案: 正如Seanizer所提到的,工件是一种类型的聚合模块(它聚合HibernateCore模块)。因此,您确实可以通过指定来依赖它。但是我个人会声明对所需模块的依赖,例如对于HibernateEntity Mana

  • 问题内容: 我有一个maven项目,该项目使用wsgen从已编译的Java类生成XSD文件。 问题是我想将生成的文件作为资源添加到jar中。但是由于该阶段在该阶段之前运行,所以无法添加它们。 有没有办法告诉Maven添加在该阶段生成的其他资源? 问题答案: 我建议将XSD文件的输出目录定义为target / classs(可能带有一个补充子文件夹,该子文件夹稍后将在打包阶段打包到jar中。这可以通