ColdFusion 组件从错误路径启动

ColdFusion Component gets initiated from wrong path

我正在启动 CFC:

<cfset config = new dir.dir1.config() />

这很好用。但是在我看来,它突然启动了,没有任何理由:

<cfset config = new anotherdir.dir.dir1.config() />

虽然代码显示了第一个实例化,但如果我删除或重命名 anotherdir.dir.dir1.config 文件,它会抛出找不到组件的错误。

哪些情况会导致这种行为? 我的智慧走到了尽头。

当使用点表示法时,CF 将首先查看相对于您所在文件夹的路径。CF 可能会在相对于您所在文件的路径上找到一个 cfc,然后再从根目录检查路径。

如果您的代码显示

<cfset config = new dir.dir1.config() >

并且您所在的文件 运行 您的代码位于目录 'anotherdir' 中,然后它将实例化 anotherdir.dir.dir1.config。如果您在 'anotherdir' 之外并且无法解析相对路径,它将尝试从根目录中查找组件。