Java Maven:为不同的包提供不同的资源?

Java Maven:为不同的包提供不同的资源?,java,maven,Java,Maven,我想把Java项目转换成Maven。该项目有两个包,其中一个包负责程序逻辑,另一个包负责GUI。它们都有自己的资源文件 因此,问题是关于将这些资源投入maven项目的良好合理实践: 为两个包指定公共资源文件夹(例如“src/main/resources”) 为每个包指定单独的资源文件夹。如果这种方式更可取,那么路径名称应该是什么: ‘src/main/resources/res_代表_pack1’、‘src/main/resources/res_代表_pack2’ “src/main/res

我想把Java项目转换成Maven。该项目有两个包,其中一个包负责程序逻辑,另一个包负责GUI。它们都有自己的资源文件

因此,问题是关于将这些资源投入maven项目的良好合理实践:

  • 为两个包指定公共资源文件夹(例如“src/main/resources”)

  • 为每个包指定单独的资源文件夹。如果这种方式更可取,那么路径名称应该是什么:

    • ‘src/main/resources/res_代表_pack1’、‘src/main/resources/res_代表_pack2’

    • “src/main/res_代表包装1”,“src/main/res_代表包装2”

    • 其他的

Maven可能指定几个资源文件夹,但没有解释这样做的原因


在我的例子中,资源文件名彼此不冲突。

通常使用的模式如下:
src/main/java/{com,org,…}/project\u name/package name

只要将源文件移动到新创建的maven项目的新目录中,就有许多依赖项和其他文件,您不需要手动处理。

对于大型或企业项目,在不同的maven模块中分离程序逻辑(或服务)和GUI是有意义的,因为它们往往会增长。采用这种方法,一个模块内的组件可能高度耦合,模块之间的耦合较低。资源文件夹将位于每个模块中,以下是maven结构:

your-project-service
- src
-- main
--- java // program logic sources
--- resources // program logic resources
your-project-web
- src
-- main
--- java // GUI sources
--- resources // GUI resources
如果您的项目不够大,您可以为域逻辑和GUI源和资源选择一个模块和不同包的更简单方式:

your-project
- src
-- main
--- java
---- com.project.service // package for logic sources
---- com.project.web // package for GUI sources
--- resources
---- com.project.service // package for logic resources
---- com.project.web // package for GUI resources

这些资源可能已经在单独的文件中,我猜您正在工件中进行编程查找。因此,只要将这些资源移动到
src/main/resources/
,Maven就应该在工件中包含资源及其相对路径。