0

在 Maven 中打开文件最好这样做:

Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");

或这个:

InputStream in = getClass().getResourceAsStream("db.properties");

如何在 Maven 中打开一个文件夹以及如何遍历它?

4

1 回答 1

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 表达式。

于 2013-05-10T07:26:57.727 回答