Java 使用库中的包初始化JAXBContext是否有问题?

Java 使用库中的包初始化JAXBContext是否有问题?,java,jaxb,packages,Java,Jaxb,Packages,我正在尝试初始化JAXBContext,如下所示: JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecomponents"); 但是,当代码运行时,我得到以下运行时错误: Exception in thread "main" java.lang.NoClassDefFoundError: ebay/apis/eblbasecomponents/ObjectFactory Caused by: java.la

我正在尝试初始化JAXBContext,如下所示:

JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecomponents");
但是,当代码运行时,我得到以下运行时错误:

Exception in thread "main" java.lang.NoClassDefFoundError: ebay/apis/eblbasecomponents/ObjectFactory
Caused by: java.lang.ClassNotFoundException: ebay.apis.eblbasecomponents.ObjectFactory
ebay.api.eblbase组件包位于初始化代码可以访问的库中。ObjectFactory类位于该包中。我实际上是这样运行的,以确保:

    ebay.apis.eblbasecomponents.ObjectFactory factory = new ObjectFactory();
    factory.createAddressType();
    JAXBContext jaxbContext = JAXBContext.newInstance("ebay.apis.eblbasecomponents");

我不是一个有经验的Java开发人员,所以我甚至不确定在这一点上可能会出现什么问题,除了它似乎找不到明显存在的类之外。我已经在有问题的软件包的库上做了一个干净的构建,效果很好。我想我会在这里寻求帮助,同时我会继续四处摸索,试图弄清楚这一点。

好的,我将程序包从它所在的库中移出,并直接放入试图访问它的项目中(这样它就可以直接访问程序包,而不必通过库进行访问),现在它似乎正在工作。希望有人会有更好的答案或解决方案来解释为什么会这样,但至少目前项目没有让我崩溃。

可能文件不在您的构建路径中?您使用的是IDE吗?哪一个?您所说的“在库中”是什么意思?在类路径中的jar文件中?我正在使用Netbeans。所谓“在库中”,我的意思是在Netbeans中创建一个全局库,其中包含一个jar,该jar包含有问题的包(以及其他一些包),并将其添加到我的项目中。我可以通过代码访问这个库中的所有类,就像我上面提到的那样。我可能应该指出,我是一名.NET开发人员,被告知要学习Java(我是这里唯一一个有Java经验(不太多)的人)。我认为这里的主要问题是我不理解Java类路径是如何工作的——我假设它们更像C#中的引用,因为它们可以嵌套,而它们不能。无论主项目是什么,它都需要在其类路径上使用所有代码,即使它已经在类库的类路径上。