Включить Javac в апплет Java - PullRequest
       19

Включить Javac в апплет Java

1 голос
/ 01 августа 2011

Я не хочу создавать апплет, включающий компилятор Java и способный загружать и компилировать файлы .java из Интернета (или из текстового поля в этом отношении). Насколько я понимаю, компилятор Java основан на Java, поэтому это должно быть возможно. Однако, одна вещь, которая меня интересует, заключается в том, способен ли компилятор Java хранить файл класса в памяти или что ему необходим явный доступ к диску. Также я хочу отследить ошибки, которые выдает javac, но это естественно.

Может быть, где-то есть статья по этому поводу? Я не мог найти много по делу. В какие неприятности я могу войти?

РЕДАКТИРОВАТЬ: я планирую использовать апплет с OpenCL, поэтому мне придется подписать апплет.

РЕДАКТИРОВАТЬ: Подобный вопрос здесь: Размещение компилятора Java в апплете или в Google AppEngine?

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Из документации на SSCCE текстовый компилятор :

  • javax.tools.ToolProvider.В документах для getSystemJavaCompiler() упоминается, что он возвращает "компилятор, предоставленный с этой платформой, или null, если компилятор не предоставляется" , но не ясно, почему он может быть нулевым, или тот факт, что компилятор не будет доступен для апплетов или приложений веб-запуска.
1 голос
/ 01 августа 2011

Компилятор Java всегда с вами.Вы должны использовать java.lang.Compiler класс.Но я верю, что у вас будут проблемы с SecurityManager.

На вашем месте я бы предпочел компилировать код на стороне сервера.Это означает, что я разработал сервлет, который может получить исходный код Java и скомпилировать его.Полученный класс Java должен быть доступен по HTTP по пути, который настроен для доступа апплетом, поэтому ваш апплет сможет запускать этот класс после компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...