在Maven中打开文件最好这样做:
Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");
或者这个:
InputStream in = getClass().getResourceAsStream("db.properties");
如何在Maven中打开文件夹以及如何迭代它?
答案 0 :(得分:1)
我假设'在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表达式。