ObjectFactory를 인스턴스화 할 때 나는 일식에 다음과 같은 컴파일 오류가 무엇입니까를 인스턴스화 할 수 없습니다 :는 ObjectFactory를 유형
이 컴파일 오류는 다음 줄에서 발생합니다cannot instantiate the type objectfactory
:
objectFactory = new ObjectFactory();//throws error: "Cannot instantiate the type ObjectFactory"
전체를 호출 클래스의 코드는 다음과 같습니다.
package maintest;
import java.io.File;
import javax.naming.spi.ObjectFactory;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
public class Main {
private static JAXBContext context;
private static ObjectFactory objectFactory;
public static void main(String[] args) {
try {setUp();} catch (Exception e) {e.printStackTrace();}
unmarshal();
}
protected static void setUp() throws Exception {
context = JAXBContext.newInstance("generated");
objectFactory = new ObjectFactory();//throws error: "Cannot instantiate the type ObjectFactory"
}
public static <PurchaseOrderType> void unmarshal(){
Unmarshaller unmarshaller;
try {
unmarshaller = context.createUnmarshaller();
final Object object = unmarshaller.unmarshal(new File("src/test/samples/po.xml"));
} catch (JAXBException e) {e.printStackTrace();}
}
}
어떻게이 오류를 해결할 수 있습니까?
'javax.naming.spi.ObjectFactory'는 인터페이스가 아니라 클래스입니다. 구현을 인스턴스화해야합니다. – azurefrog
어떤 JNDI 구현을 사용하고 있습니까? 나는 그 API가 객체 팩토리를 얻는 방법을 가질 것으로 기대한다. – azurefrog
ObjectFactory에는 무엇이 필요합니까 (샘플에는 용도가 없음)? xjc에 의해 생성 된 패키지가 아닌 javax.naming.spi 패키지의 패키지를 사용 하시겠습니까? – Puce