将gradle builld中的文件(.properties文件)包含到.class的同一目录中
以下结构将gradle builld中的文件(.properties文件)包含到.class的同一目录中,gradle,build.gradle,Gradle,Build.gradle,以下结构 src service service1 Service.java Service.properties 我希望gradle生成的输出是 classes service service1 Service.class Service.properties 因此,我需要在生成后将文件(.properties)保存在类的同一目录中,但梯度将文件.properties(参考资料)复制
src
service
service1
Service.java
Service.properties
我希望gradle生成的输出是
classes
service
service1
Service.class
Service.properties
因此,我需要在生成后将文件(.properties)保存在类的同一目录中,但梯度将文件.properties(参考资料)复制到另一个目录中
我该怎么做呢?我假设您正试图将它们放在那里,以便可以从类路径加载它们?使它们对类装入器可用的最好方法是将它们放入src/main/resources中,它是类装入器的一部分。Gradle会在那里找到它们,并将它们放在jar的根目录下(默认情况下,我相信它会忽略src/main/java中的属性文件) 将java文件移动到src/main/java也很好。使用标准目录布局是一种惯例,它将帮助其他开发人员理解代码。它还允许您以较少的配置使用某些开箱即用的工具,因为这些工具可以对事物所在的位置进行假设 因此,新结构将如下所示:
service1-project
src
main
java
service1.java
resources
service.properties
如果您使用标准的目录布局,我认为您将实现您尝试执行的最终结果(实际上是在Java中加载属性文件)。如果出于某种原因,您必须避免使用标准目录布局,那么您必须开始进行自定义配置(使用非标准项目布局的缺点)。在Gradle中,您应该能够通过挂接Java插件来实现这一点。消息包位于同一个包中。这并没有回答op的问题。