我在将文件属性保存到 weblogic 时遇到问题:java.lang.IllegalArgumentException: URI 不是分层的

I have problem to save File properties into weblogic: java.lang.IllegalArgumentException: URI is not hierarchical

这是我尝试在 weblogic 中保存文件 .properties 时出现的问题 java.lang.IllegalArgumentException: URI 不分层

我部署在 WAS 上,Tomcat 运行良好,但在 weblogic 中,我在读取和显示 .jsp 上的属性时遇到问题。jsp 很好,但当我想保存时出现问题.

public boolean setProperties(String data[]) {
    OutputStream outStream = null;
    File f;
    try {
        Properties props = new Properties();

        props.setProperty("url", data[0]);
        props.setProperty("method", "" + data[1]);
        props.setProperty("accept", "" + data[2]); 
        props.setProperty("key", "" + data[3]); 
        URL url= getClass().getResource("/access.properties");
        f = new File(url.toURI()); 
        outStream = new FileOutputStream(f);
        props.store(outStream, "");

        return true;
    } catch (Exception e) {
        e.printStackTrace();
    }

    return false;
}

最初的问题是因为我们无法在文件上写入,因为当 weblogic 部署我们的 war 时,src 被转换为 jar _wl_cls_gen.jar 而我们无法写入。

我解决了下一个 link 关于 EAR 和 APP-INF 的教学,我把我的 类、属性和库放在那里。

EAR EXAMPLE

我在 EAR 上创建了 weblogic-application.xml 并放置了

   <wls:prefer-application-packages>
    <wls:package-name>namePackages.*</wls:package-name>
</wls:prefer-application-packages>
<wls:prefer-application-resources>
    <wls:resource-name>access.properties</wls:resource-name>
</wls:prefer-application-resources>

接下来link重要的了解一下吧 DOC ORACLE CLASSLOADING