Я немного поковырялся, методом проб и ошибок, но я не нашел решения этой проблемы, которая у меня есть.
У меня есть такая структура папок (пример)
- Приложение.cfc
- Objects\
- Object.cfc
- Utilities\
- Util.cfc
- API\
- Resources\
- index.cfm
- Приложение.cfc
- Resources\
У меня есть один сайт, который указывает на папку API (http://api.site.com), а другой — на общий корень (http://site.com).
Из Api\Resource\index.cfm. Я пытаюсь создать объект() в Objects\Object.cfc. Я настроил сопоставление либо в CF Admin, либо в API\Application.cfc с помощью this.mappings["/SiteRoot"] = "C:\wwwroot". Внутри index.cfm я делаю createObject("component","SiteRoot.Objects.Object"). Это правильный доступ к Object.cfc.
Проблема, с которой я столкнулся, заключается в том, что он терпит неудачу, потому что Object.cfc создает экземпляр Utilities\Util.cfc только с помощью createObject("component","Utilities.Util"). Ошибка в том, что не удается найти Utilities.Util.
В самом нижнем корне есть другие файлы, которые, очевидно, могут вызывать Object.cfc без проблем, поскольку он просто естественным образом попадает в папку «Утилиты».
Любые предложения Или мне действительно нужно просто полностью вырвать папку API из этого корня?
Спасибо!
ОБНОВЛЕНИЕ Пока что я не могу ответить на свой вопрос, но я хотел опубликовать его здесь до того, как вмешаются другие.
Несмотря на перезапуск приложения и перезапуск сервера приложений, один или два раза оно не работало. Затем внезапно все пошло и заработало, как я и ожидал. Object.cfc может правильно найти Util.cfc на основе его относительного пути.
Я проголосовал за тех, кто ответил, поскольку они были вполне жизнеспособными альтернативами и решениями, и я бы согласился с одним из них, если бы это не только начало работать. Демоны, говорю вам. Демоны.
Спасибо!