相关疑难解决方法(0)

在java中打开具有相对路径的资源

在我的Java应用程序中,我需要获取一些文件和目录.

这是程序结构:

./main.java
./package1/guiclass.java
./package1/resources/resourcesloader.java
./package1/resources/repository/modules/   -> this is the dir I need to get
./package1/resources/repository/SSL-Key/cert.jks    -> this is the file I need to get
Run Code Online (Sandbox Code Playgroud)

guiclass 加载将加载我的资源(目录和文件)的resourcesloader类.

至于文件,我试过了

resourcesloader.class.getClass().getResource("repository/SSL-Key/cert.jks").toString()
Run Code Online (Sandbox Code Playgroud)

为了获得真正的路径,但这种方式不起作用.

我不知道如何做目录.

java resources loading

76
推荐指数
6
解决办法
22万
查看次数

使用XSD,目录解析器和XSLT的JAXP DOM验证XML

背景

使用JDK 6将XML文件加载到DOM中.必须针对XSD验证XML文件.XSD文件位置因运行环境而异.确保XML可以针对XSD进行验证,无论目录结构如何,都需要目录解析器.一旦验证了XML,就可以对其进行转换.

我的理解是DocumentBuilderFactory可用于配置此类验证.这是通过使用带有XMLCatalogResolverDocumentBuilder来查找与XML文件关联的XSD文件(以及任何包含的文件)来实现的.

有关使用目录派生的XSD验证XML文档的问题包括:

这些问题和答案中的大多数引用了硬编码的XSD文件路径,或者使用SAX执行验证,或者与DTD相关,或者需要JDOM依赖项,或者没有转换.

问题

没有规范的解决方案描述如何使用JAXP DOM进行XSD验证的XML目录,随后通过XSLT进行转换.有一个号码片段,但编译和运行(JDK 6下)没有完整的,独立的例子.

我发布了一个答案似乎在技术上有效,但过于冗长.

什么是规范方式(使用JDK 1.6库)来验证和转换XML文档?这是一种可能的算法:

  1. 创建目录解析程序.
  2. 创建XML解析器.
  3. 将解析器与解析器相关联.
  4. 解析包含XSD引用的XML文档.
  5. 终止验证错误.
  6. 使用XSL模板转换经过验证的XML.

java xml xslt validation xsd

9
推荐指数
1
解决办法
4512
查看次数

xi:包含在jar文件中的xml文件中不能在WildFly中工作

这是场景:

我捆绑了.xml应用程序在.jar文件中运行所需的几个(有些配置)文件.jar文件具有以下结构:

settings-1.0.0.jar
? resources/
  ? 1.xml
  ? 2.xml
  ? 3.xml
? META-INF/
  ? MANIFEST.MF
Run Code Online (Sandbox Code Playgroud)

1.xml 具有以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<document xmlns:xi="http://www.w3.org/2001/XInclude">
    <!-- Include 2 -->
    <xi:include
        href="resource:resources/2.xml" />
    <!-- Include 3 -->
    <xi:include
        href="resource:resources/3.xml" />
    <!--
    <map>
    </map>
    -->
</document>
Run Code Online (Sandbox Code Playgroud)

基于这篇文章.当尝试访问这些包含(成功部署我的应用程序后)后,我收到以下错误:

Caused by: org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 43; An 'include' failed, and no 'fallback' element was found.
    at org.apache.xerces.parsers.DOMParser.parse(DOMParser.java:245)
    at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:298)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
    at org.zcore.dkp.backend.mapper.MappingParser.parse(MappingParser.java:60)
    ... 327 more
Run Code Online (Sandbox Code Playgroud)

我尝试了(&错误)所有可以考虑的选项.xi:include.xml文件 …

java xml module xerces wildfly

6
推荐指数
1
解决办法
507
查看次数

标签 统计

java ×3

xml ×2

loading ×1

module ×1

resources ×1

validation ×1

wildfly ×1

xerces ×1

xsd ×1

xslt ×1