如何获取idea编译后生成的target/xxx 里的文件

  • 目录结构

目录结构

  • pom
    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <targetPath>../conf</targetPath>
                <includes>
                    <include>**/*.toml</include>
                </includes>
            </resource>
        </resources>
    </build>
  • target

target

如果不配置resource文件夹下的build位置的话,就是test.toml在target/classes里,和.class文件在一起

public class ReadToml {

    public static void main(String[] args) {
        String fileName = "/test.toml";
        File file = new File(ReadToml.class.getResource(fileName).getFile());
        //Toml toml = new Toml().read(file);
    }
}

通过上面方式读取到了,拿到了test.toml的路径
现在配置了build后,resources文件夹下的文件如何获取它的URL - -!

阅读 11k
1 个回答
  • resources下建立一个新目录比如conf, test.toml放conf下
  • 不需要指定targetPath,默认就是在根目录下
 <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*.toml</include>
                </includes>
            </resource>
        </resources>
    </build>
  • 最终target下,class文件应该都是在 class/com 下,资源文件会在targate/classes下。所以String fileName = "/conf/test.toml" 就行了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题