| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Почему запрещена кодогенерация на app-сервере? |
| Автор: UnicornMirage 28.10.2009, 19:11 | ||||||
| Здравствуйте. Вот пытался сгенерировать класс на серваке (tomcat 6), и возникла проблема: если генерировать простой класс, кторый использует лишь стандартные классы из пакета java- то он создается нормально. Если же в этом генерируемом классе использовать классы из сторонних библиотек, либо свой же другой класс, то класс не компилится. Для компиляции использую JCAPI (JavaCompiler). НО! если ту же программу для генерации класса запустить как обычный application через метод main, то компиляция проходит. Пример: Этот класс компилится под томкатом:
Этот класс выдает ошибку компиляции под томкатом:
Компилятор говорит, что не находит класс SomeExistingMyClass, хотя он существует. Почему существует такое ограничение, и можно ли это как то побороть? вероятно все упирается в класслоадер, который используется в JavaCompiler. Если в режиме дебага томката (catalina jpda run) посмотреть:
Как бы заставить класслоадер ToolProvider.getSystemToolClassLoader() увидеть все мои классы?? |