Java Maven:为不同的包提供不同的资源?
我想把Java项目转换成Maven。该项目有两个包,其中一个包负责程序逻辑,另一个包负责GUI。它们都有自己的资源文件 因此,问题是关于将这些资源投入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
- 为两个包指定公共资源文件夹(例如“src/main/resources”)
- 为每个包指定单独的资源文件夹。如果这种方式更可取,那么路径名称应该是什么:
- ‘src/main/resources/res_代表_pack1’、‘src/main/resources/res_代表_pack2’
- “src/main/res_代表包装1”,“src/main/res_代表包装2”
- 其他的
在我的例子中,资源文件名彼此不冲突。通常使用的模式如下:
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就应该在工件中包含资源及其相对路径。