如何识别ColdFusion下运行的版本jar

时间:2016-02-29 13:00:01

标签: jar coldfusion coldfusion-9

如何将jar文件更新为coldfusion安装附带的最新版本?我可以在不同的位置看到具有不同版本的jar文件。如何确认当前正在运行的jar版本以及ColdFusion查找这些jar的位置是什么?

例如,在 coldfusion \ lib 中我有这些罐子:

  • commons-collections.jar
  • commons-collections.3.1.jar
  • commons-collections.3.2.jar

然后在另一个位置 \ Coldfusion \ cfusion \ lib ,我有:

  • commons-collections.jar

提前感谢您的任何帮助或建议。

1 个答案:

答案 0 :(得分:0)

  

coldfusion寻找这些罐子的位置是什么

一般来说,ColdFusion searches the following locations代表罐子:

  • ColdFusion类路径(请参阅 ColdFusion管理员>服务器设置> Java& JVM )。
  • 默认JVM类路径
  • THIS.javaSettings(仅限CF10 +)
  • 中指定的动态路径
  

当前正在运行的jar版本

通常您可以identify the source jar选择一个可能存在该库所有版本的类并使用Class.getResource()进行检查。对于该特定库,CollectionUtils可能是一个不错的选择,因为API说它自1.0版本以来就存在。

 // Create instance
 testClass = createObject("java", "org.apache.commons.collections.CollectionUtils").getClass();
 // Convert class name to format:  /path/to/TheClassName.class 
 className = "/"& replace( testClass.name, ".", "/", "all") &".class";
 // Display location, or "null" if unknown
 location = testClass.getResource( className );
 writeOutput(  isNull(location) ? "null" : location.toString());

结果显然会有所不同,但在我的ColdFusion 11安装中,上面的内容会返回:

  

组织/阿帕奇/公地/集合/ CollectionUtils.class   的jar:文件:/ C:/ColdFusion/cfusion/lib/commons-collections-3.2.1.jar /组织/阿帕奇/公/收藏/ CollectionUtils.class