Вопросы по разработке приложений GAE на Eclipse с Clojure - PullRequest
2 голосов
/ 23 марта 2011

После получения против часовой стрелки работы над моей настройкой Eclipse и сервер разработки GAE, работающий в интерактивном режиме, я нашел эти для меня все еще неясно:

1) Как запустить сервер и приложение без команды РЕПЛ

2) Когда я развертываю приложение на серверах Google, как и где я могу определить точку входа приложения? Я имею в виду, как Google будет знать какое приложение, обработчики приложений и маршруты использовать?

3) Могу ли я комбинировать использование классов Java и файлов clojure в одном проекте так что оба компилируются автоматически при создании и редактировании их на моя папка src?

4) Какие файлы и файлы действительно необходимы для загрузки в GAE по адресу конец? Я привык развертывать PHP-приложения в GAE, но здесь я не знаю, стоит ли мне создавать jar-файлы, включая скомпилированные файлы clj. Я также хотел бы организовать файлы иначе, чем против часовой стрелки или appengine-magic, поэтому где я могу указать пути к ресурсам и классам?

5) Наконец, можно ли подключить производственный сервер Google к Комбинация Emacs - Слизь - Суонк? Это было бы выполнением мечты, лол.

Я использую appengine-magic с Jetty, Compojure, Ring и Hiccup.

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

Я собираюсь предложить гибридный подход lein / appengine-magic / Eclipse.Создайте свой проект GAE с помощью appengine-magic, а затем настройте его в Eclipse.

  1. Создайте Clojure «Run Configuration» и проверьте исходные файлы, которые вам нужно проверить для запуска сервера.Вы получите ответ на него при запуске.
  2. Ваша точка входа в GAE - это web.xml серверный класс, который ссылается на заранее скомпилированный источник в app_servlet.clj (при условии, что вы использовали lein appengine-new для создания проекта изначально).Найдите в app_servlet.clj вызов make-servlet-service-method - аргумент, указывающий точку входа вашего App Engine Magic (см. def-appengine-app в core.clj).В свою очередь это относится к вашему обработчику Compojure и маршрутам.Подробности см. https://github.com/gcv/appengine-magic.
  3. Я этого не делал, поэтому не могу комментировать.
  4. Пусть appengine-magic позаботится об этом: lein appengine-magic prepare, затем разверните каталог развертывания war appcfg.sh (который вы можете найти в GAE Java SDK).Вы также можете использовать плагины GAE Eclipse для достижения этой цели.
  5. Вы не можете использовать сокеты с GAE.Суонк зависит от сокетов, поэтому ОТВЕТ на ваше живое приложение невозможно.Однако вы можете перезаписывать все, что вам нравится, на сервере dev.
0 голосов
/ 04 апреля 2011

Q 1 & 2 были в конечном итоге решены и очищены.

Q 3 Я не смог этого сделать, потому что классы java или clojure перезаписывали друг друга, и я не мог изменить целевые каталоги для них отдельно.

Q 4 после первого успешного развертывания теперь я знаю, какие основные базовые банки должны быть включены. Да, это зависит от того, что вы используете в своем проекте. Я думаю, что я перенес слишком много ненужных файлов при развертывании PHP.

Q 5 Это то, что я думал. Но у меня не получилось работать на сервере механизма приложений. Сообщение о незаконном доступе к некоторому файлу appengine sdk. Может быть, мне нужно включить его в libs проекта ...

...