【问题标题】:Wildfly war deployment get path to resource fileWildfly 战争部署获取资源文件的路径
【发布时间】:2016-10-06 06:52:14
【问题描述】:

我有一个使用外部工具创建报告的网络应用程序。此工具需要一个指向我要从中生成报告的模板的绝对路径。

我将模板部署为包含在我的 war 文件中的资源。

当使用爆炸战争时,我可以做这样的事情,效果很好:

String path = Thread.currentThread().getContextClassLoader().getResource(resourceFile).getPath();
File f = new File(path);
String absoluteFileName = f.getAbsolutePath();

使用未爆炸的战争这是行不通的。有没有机会做这样的事情?

我不需要资源的内容,所以 getResourceAsStream(..) 不是我要找的。

【问题讨论】:

    标签: java wildfly


    【解决方案1】:

    您必须使用getResourceAsStream() 并将内容写入已知位置。您可以使用以下内容将部署中的模板复制到临时文件中。

    final InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourceFile);
    final Path f = Files.createTempFile("template", ".txt");
    Files.copy(in, f);
    final String absoluteFileName = f.toAbsolutePath().toString();
    

    如果您有一组已知模板,您可以使用 @javax.ejb.Singleton @javax.ejb.Startup EJB。

    【讨论】:

      猜你喜欢
      • 2014-03-18
      • 2014-03-29
      • 2014-02-26
      • 1970-01-01
      • 2015-07-30
      • 2015-04-04
      • 1970-01-01
      • 1970-01-01
      • 2021-05-21
      相关资源
      最近更新 更多