- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个程序:
import foo.bar.baz.ClassSpecificallyIncluded;
import javax.xml.bind.JAXBContext;
public class A {
public static void main(String[] args) throws Exception {
System.out.println(JAXBContext.newInstance(ClassSpecificallyIncluded.class).toString());
System.out.println(JAXBContext.newInstance("foo.bar.baz").toString());
}
}
为第一个和第二个 JAXBContext 产生不同的输出:
jar:file:/C:/dev/trunk/rt/tomcat/shared/lib/webservices-rt-2.0.1.jar!/com/sun/xml/bind/v2/runtime/JAXBContextImpl.class Build-Id: 1.0
Classes known to this context:
[B
boolean
byte
char
foo.bar.baz.Class1
foo.bar.baz.Class1$NestedClass
foo.bar.baz.Class2
foo.bar.baz.ClassSpecificallyIncluded
foo.bar.baz.AnotherClass
com.sun.xml.bind.api.CompositeStructure
double
float
int
java.awt.Image
java.io.File
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.Class
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Long
java.lang.Object
java.lang.Short
java.lang.String
java.lang.Void
java.math.BigDecimal
java.math.BigInteger
java.net.URI
java.net.URL
java.util.Calendar
java.util.Date
java.util.GregorianCalendar
java.util.UUID
javax.activation.DataHandler
javax.xml.bind.JAXBElement
javax.xml.datatype.Duration
javax.xml.datatype.XMLGregorianCalendar
javax.xml.namespace.QName
javax.xml.transform.Source
long
short
voidjar:file:/C:/dev/trunk/rt/tomcat/shared/lib/webservices-rt-2.0.1.jar!/com/sun/xml/bind/v2/runtime/JAXBContextImpl.class Build-Id: 1.0
Classes known to this context:
[B
boolean
byte
char
foo.bar.baz.Class1
foo.bar.baz.Class1$NestedClass
foo.bar.baz.Class2
<<< CLASS IS MISSING HERE>>>
foo.bar.baz.AnotherClass
com.sun.xml.bind.api.CompositeStructure
double
float
int
java.awt.Image
java.io.File
java.lang.Boolean
java.lang.Byte
java.lang.Character
java.lang.Class
java.lang.Double
java.lang.Float
java.lang.Integer
java.lang.Long
java.lang.Object
java.lang.Short
java.lang.String
java.lang.Void
java.math.BigDecimal
java.math.BigInteger
java.net.URI
java.net.URL
java.util.Calendar
java.util.Date
java.util.GregorianCalendar
java.util.UUID
javax.activation.DataHandler
javax.xml.bind.JAXBElement
javax.xml.datatype.Duration
javax.xml.datatype.XMLGregorianCalendar
javax.xml.namespace.QName
javax.xml.transform.Source
long
short
void
然而,ClassSpecificallyIncluded 在 foo.bar.baz 包中:
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vJAXB 2.1.10 in JDK 6
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2012.05.14 at 10:47:17 PM IST
//
package foo.bar.baz;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"applicationArea",
"dataArea"
})
@XmlRootElement(name = "ClassSpecificallyIncluded")
public class ClassSpecificallyIncluded {...
两个 JAXBContext 的类路径和类加载器是相同的。
那么为什么第二个 JAXBContext 不知道 ClassSpecificallyIncluded?
最佳答案
这里有效地回答了您的问题:
Can you find all classes in a package using reflection?
答案:否 根据设计,java 不知道也无法找到包中的每个类。 Java建立在“及时”的概念之上。出于此目的,这意味着 Java 直到被特定要求时才知道它得到了什么。
因此从这个角度来看,JAXB 无法找到包中有哪些类。
如果每次需要上下文时都必须准确地告诉 JAXB,那将很不方便。因此,作为一种方便的方法,JAXB 为您提供了提供包名称的选项。
为了绕过 java 的限制,它尝试从该包加载一个 ObjectFactory
和一个 jaxb.index
文件。它可以这样做,因为它们是特定的名称。如果找到一个,则它将它们用作包的 list 。如果两者都没有找到,它别无选择,只能中止,因为它不可能知道包中有什么。
关于jaxb - 为什么 JAXBContext 需要特别告知包中已有的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20273355/
我使用这些 instructions 在 R 中制作了一个包.我使用 RStudio,我想向包中添加一个新功能。 我是否只是将函数放入 R 脚本并将其拖到名为 R 的包中的文件夹中?如果这样做,是否需
我正在 Rstudio 中构建我的 R 包,当我厌倦了创建包的小插图时遇到了一些意想不到的问题。当我在 Rstudio 中点击构建/加载面板时,出现小插图错误,同时创建了包的文档。为了可能解决我遇到的
我编写了一个 Delphi 包,其中两个组件使用我放置在 GraphContour.res 中的相同 PNG 资源。使用以下脚本创建文件: compile_res.bat: @brcc32 Graph
我有一个包含多个文件的目录,我想将这些文件包含在 Wix 项目构建的 msi 包中。 /database /database/migration11.txt /database/migration21
我想使用基于 git describe 命令的包版本。为此,我使用函数 get_version() 创建了 setup.py。此函数从 .version 文件中检索版本(如果存在),否则计算新的包版本
我创建了一个新的 django 应用程序并将其作为新包上传到 pypi。但是当我们将包安装到项目时,模板文件夹内的 html 文件没有显示。为什么会发生这种情况?下面还给出了 setup.py 文件(
我尝试执行这个 javascript 命令: document.querySelectorAll('div.Dashboard-section div.pure-u-1-1 span.ng-scope
我有(相当多的)静态文件需要与我的应用程序一起部署,该应用程序构建在遗留 .NET 库之上。其中包括几个 XML 和配置文件,以及一个 10 兆字节的只读数据库。 我看到的大多数论坛都指出实现此目的的
假设我有以下文件结构: +mypackage/ foo.m bar.m 如何向 help(mypackage) 的输出添加帮助? 在 python 中,我只是在 __init__.py 中添加
我正在尝试在 C# appx 包中包含数据文件或图像。我已尝试将文件添加到 csproj,并启用“复制到输出目录”,但它们不会出现在 AppXLayouts 目录中。 我在 dev.windows.c
我需要 Python 图像库中的 group4 解码,但为了构建它,我需要将一些更改放入发行版 libtiff-dev 包中。 以前从未做过这种事情,我很好奇从哪里开始。我需要在 libtiff 中进
我正在使用 AOSP,我想创建自己的库并在应用程序中使用它(来自 packages/app/)。我的图书馆只有一门课: import android.app.Fragment; import andr
是否可以在我的 apk 文件中添加一些存储程序版本、更新路径和其他有用数据的 XML 文件(注意:我指的不是 Android XML 文件)。我只想将该文件解压缩到本地数据文件夹的某个位置,我将使用它
问题 我想知道对于计划作为模块导入的 Python 目录的命名是否有标准约定。这意味着该目录包含一个空白的 __init__.py 背景 直到最近,我才很少考虑它,并且完全根据在文件系统级别有意义的内
我正在安装 git.install 的自定义版本包裹。我在 tools 目录中添加了一些额外的文件。 git.install tools file1 file2 choco
有没有办法为包中的示例 map 结构自动生成模板代码? 大多数软件包的根目录下都有一个/example 文件夹,用于展示软件包的功能。我不确定创建示例的“最佳”方式是什么,或者它是否重要。 我是否单独
我正在制作我的第一个 R 包,我正在尝试包含包依赖项。该软件包在我的机器上安装并运行良好,但我已经安装了所有依赖项。当另一个用户尝试安装并且他们没有安装所有依赖项时,他们会收到错误消息。 ERROR:
我正在尝试从以下网址的表格中抓取数据: http://www.nfpa.org/itemDetail.asp?categoryID=953&itemID=23033 问题是包含在 标签。当我使用以
我有一个 R我即将提交给 CRAN 的 GitHub 上的包。到目前为止,该包已经有一个广泛的 README.md 文档,其中显示: 包核心函数执行示例, 包演示执行示例, 一些基准测试结果。 供 G
我已经编写了供私有(private)使用的 Visual Studio 扩展。该软件包仍在开发中,但我想使用它并将其分发给我的同事。是否可以在 .vsix 包中包含调试符号 (.pdb)?与包编辑相比
我是一名优秀的程序员,十分优秀!