Проблема конфигурации ModelGlue / ColdSpring?
Я годами использовал ModelGlue и ColdSpring в предыдущих проектах без проблем. Я создаю этот новый сайт, используя CF10 ModelGlue 3.2.
Я скачал и установил фреймворк, без проблем создал сайт на своем локальном MacBook и попытался развернуть его в среде клиента... Плохие новости!
Они используют IIS, и на первый взгляд кажется, что они обслуживаются через веб-корень, но через некоторое вуду IIS и отображение '/' в CFAdmin они служат
http://b.company.com/ ---> D:\inetpub\wwwroot\a\b\index.cfm
После того, как я стал искать место для каркасов, я остановился на:
D:\inetpub\wwwroot\a\b\coldspring
D:\inetpub\wwwroot\a\b\ModelGlue
в D:\inetpub\wwwroot\a\b\Application.cfc
:
this.mappings['coldspring'] = expandPath('./coldspring/');
this.mappings['ModelGlue'] = expandPath('./ModelGlue/');
Когда я запускаю его, я получаю проблему с созданием фреймворка MG для первого компонента, который он пытается извлечь из ColdSpring (который периодически меняется):
Could not find the ColdFusion component or interface D:\inetpub\wwwroot\ModelGlue\gesture\factory\TypeDefaultingMapBasedFactory.cfc.
Однако проблема на самом деле исходит от родительского компонента (расширяется), который не может быть создан. Модификация cfc слегка дает некоторую диагностику:
<cftry>
<!--- original line below --->
<cfset variables.beanInstance = createObject("component", getBeanClass()) />
<cfcatch type="any">
<cfdump var="#expandPath(".")#" />
<cfdump var="#getBeanClass()#" />
<cfdump var="#cfcatch#" />
<cfabort>
</cfcatch>
</cftry>
выходы:
D:\inetpub\wwwroot\a\b
ModelGlue.gesture.module.XMLModuleLoaderFactory
{error report}
Обратите внимание, что CS успешно находит и создает экземпляры D:\inetpub\wwwroot\a\b\ModelGlue\gesture\module\XMLModuleLoaderFactory
, но выглядит в другом каталоге (D:\inetpub\wwwroot\ModelGlue
) для своего родителя. (Для тех, кто незнаком, XMLModuleLoaderFactory extends="ModelGlue.gesture.factory.TypeDefaultingMapBasedFactory"
как часть его определения CFC.
Я в конце своего остроумия; Я перепробовал все возможные изменения в конфигурации, переместил библиотеки и т. Д. Как внешний разработчик, я не могу изменить их веб-сервер, но у меня есть полный контроль над App.cfc и всем, что ниже. У кого-нибудь есть идеи, что происходит не так?
Любая помощь будет оценена.
ОБНОВЛЕНИЕ (возможно, решено)
Я откатил версию ModelGlue до версии 3.1.299, и это, похоже, решило мои проблемы.
Я также переопределил отображение CFAdmin '/', чтобы указать путь к моему приложению
Application.cfc:
this.mappings['coldspring'] = expandPath('./coldspring/');
this.mappings['ModelGlue'] = expandPath('./ModelGlue/');
this.mappings['/'] = expandPath('.');
Я не совсем уверен, что не так с MG 3.2, но 3.1.299, похоже, помогло.