在 Maven 中打开文件最好这样做:
Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");
或这个:
InputStream in = getClass().getResourceAsStream("db.properties");
如何在 Maven 中打开一个文件夹以及如何遍历它?
我假设“在 Maven 中”是指“在编写 Maven 插件时”。
将文件路径作为可配置参数通常是有意义的:
@Mojo(name = "mygoal", defaultPhase = LifecyclePhase.PREPARE_PACKAGE)
public class MyPlugin extends AbstractMojo {
@Parameter(defaultValue="${basedir}/src/main/resources/db.properties")
public File dbcfg;
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
Properties cfg = new Properties();
FileReader cfgReader = new FileReader(dbcfg);
try {
cfg.load(cfgReader);
}finally{
IOUtils.closeQuietly(cfgReader);
}
/* .... */
}
}
请注意,您可以在默认值中使用 maven 表达式。