Кастор и ИКВМ - PullRequest
       35

Кастор и ИКВМ

1 голос
/ 19 мая 2009

Я преобразовал API, написанный на Java, в .net dll, используя IKVM, и до сих пор это было хорошо.

Он в основном использует xml за кулисами для доступа к некоторым веб-сервисам. API сторонний, и у меня нет доступа к исходному коду. API использует Castor для (я полагаю) связывания XML в объекты.

Однако, когда я начал использовать некоторые из наиболее полезных частей API, у меня возникла проблема с Castor. Моя конкретная ошибка:

"Вложенная ошибка: org.exolab.castor.mapping.MappingException: не удалось найти класс ..."

Упомянутый класс является частью API. Судя по поиску в Интернете, кажется , что Castor не может получить доступ к классу, потому что он находится в отдельной сборке от Castor.

Моя проблема в том, что я не совсем понимаю о загрузчиках классов в Java и, вероятно, недостаточно разбираюсь в IKVM, чтобы разобраться в этом.

Кто-нибудь использовал IKVM с Castor (или какой-либо другой библиотекой, которая, возможно, использует отражение в классах Java), и сталкивался с этой проблемой раньше?

1 Ответ

2 голосов
/ 21 мая 2009

Что ж, я удивлен, что никто не ответил на этот вопрос, поэтому я отправил вопрос в список рассылки ikvm и получил ответ.

Ответ действительно связан с разделением библиотеки Castor и стороннего API-кода, который я использовал.

Решением, которое я использовал, было добавление опции:

-classloader:ikvm.runtime.AppDomainAssemblyClassLoader

при компиляции Castor с ikvmc.

Это позволило Кастору связаться с API третьей части и позволило мне получить отчет из веб-службы.

...