ColdFusion组件从错误的路径启动

Ber*_*aus 3 coldfusion cfc

我正在发起一个CFC:

<cfset config = new dir.dir1.config() />
Run Code Online (Sandbox Code Playgroud)

这很好用.但突然间,在我看来,没有给出理由它启动:

<cfset config = new anotherdir.dir.dir1.config() />
Run Code Online (Sandbox Code Playgroud)

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

哪种情况会导致这种行为?我以智慧走在路的尽头.

bel*_*sja 10

使用点表示法时,CF将首先查看相对于您所在文件夹的路径.CF可能会在检查来自根目录的路径之前,在相对于您所在文件的路径上找到cfc.

如果你的代码说

<cfset config = new dir.dir1.config() >
Run Code Online (Sandbox Code Playgroud)

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