Path 如何找出容器提供了哪些类/路径?

Path 如何找出容器提供了哪些类/路径?,path,export,wildfly,system,classloading,Path,Export,Wildfly,System,Classloading,我正在使用WildFly 10.1,需要添加几个模块。当然,它们有自己的依赖项,我需要在module.xml中定义它们。据我所知,一些类已经由容器本身提供(例如classjavax/xml/ws/Service),为了向这个系统库添加依赖项,我将以下内容放入module.xml: <dependencies> <system export="true"> <paths> <path name="javax/

我正在使用WildFly 10.1,需要添加几个模块。当然,它们有自己的依赖项,我需要在
module.xml
中定义它们。据我所知,一些类已经由容器本身提供(例如class
javax/xml/ws/Service
),为了向这个系统库添加依赖项,我将以下内容放入
module.xml

<dependencies>
    <system export="true">
        <paths>
            <path name="javax/xml/ws"/>
            <path name="javax/xml/namespace"/>
        </paths>
    </system>
</dependencies>

同时,我这么做只是因为我知道这一点

但是,如果我将来在某个地方遇到这样的情况,当我不确定这个特定的类是否由container/JDK提供时,该怎么办如何找到可以从当前容器(系统)/JDK导出的类/路径的完整列表

我浏览了大量关于WildFly中类加载的文章和文档,其中大多数只是说明您可以执行这些
system export=“true”
,但找不到任何关于此类问题答案的提示


谢谢

您可能不应该像那样添加系统路径,而是依赖于
javax.api
模块。有没有解释为什么这样做不好?由于某种原因,
javax.api
模块没有提供
javax/xml/ws
,因此我得到了
javax/xml/ws/Service
的classNotFound,这就是为什么我最终添加了这样的系统路径。无论如何,谢谢,我将继续学习更多关于这方面的内容。您将在两个不同的类加载器中使用say
javax.xml.ws.Service
,这可能会导致问题。您可能想要的是对
javax.api
javax.xml.ws.api
的依赖。最后我发现我根本不需要这些模块,我的错误是将第二个jar与另一个jar放在一个模块中(这确实是必需的),这就是为什么codeflow走错了路,抛出ClassNotFound异常,让我添加越来越多的模块。我已经从模块中删除了那些额外的JAR,然后一切都像一个符咒一样工作(事实上,它已经被捆绑到相关的EAR中)。与此同时,我仍然对最初问题的答案感到好奇。