한 컴퓨터에서 다른 컴퓨터로 서버를 통해 개체를 보내야하는 서버 프로젝트가 있습니다. 객체는 Game을 확장하는 SpecificGame입니다. 서버는받은 객체가 Game 유형이지만, 특정 게임이나 게임을 확장하는 다른 클래스에 액세스 할 수는 없다는 것을 알고 있습니다. 서버는이 객체를 다른 컴퓨터로 전달할 것이고 모든 것이 잘되었다.기존 클래스의 서브 클래스에 대한 Java ClassNotFoundException
나는 게임 (이 서버를 사용하기 위해 노력중인 여러 컴퓨터 게임)을 확장하는 여러 클래스가 있으며 게임 자체를 수정하지 않고이 클래스를 지속적으로 수정 및 추가하고 있습니다.
그러나 최근에는 SpecificGame이 서버가 인식하는 Game을 확장하더라도 서버가 SpecificGame에 대해 ClassNotFoundException을 발생시킵니다. 이클립스에서 SpecificGame과 같은 프로젝트 폴더에서 jar 파일로 서버를 내보내는 경우 제대로 작동하지만 병을 내 보내서 서버를 다시 시작해야만 게임을 확장하고 서버를 통과하는 모든 작업을 수정할 수 있습니다.
저는 게임을 확장하는 클래스에서 ObjectInputStream.readObject() 메서드를 사용하여 예외를 throw하고 있습니다.
이 문제의 원인을 파악하는 데 도움을주십시오.
불행히도 온라인에서는 구체적인 코드를 게시 할 수 없습니다.
감사합니다.
SpecificGame을 읽은 후 어떻게 캐스팅하고 있습니까? '(Game) ObjectInputStream.readObject()'또는'(SpecificGame) ObjectInputStream.readObject()'? – corpico
(Game)을 사용하여 SpecificGame을 포함한 모든 클래스를 사용할 수 있으므로 서버와 함께 게임을 확장 할 수 있습니다. – Waiwera