【问题标题】:Using google library in coldfusion without using Java library在coldfusion中使用谷歌库而不使用Java库
【发布时间】:2014-10-09 09:56:15
【问题描述】:

参考following 库和我的previous 线程,我有两个问题:

问题 #1:我决定不搞砸 Java 库,因此谁能告诉我是否有其他方法可以弄清楚如何在 Coldfusion 中使用 libphonenumber 库?

问题 #2:正如我在之前的帖子中所讨论的,许多人正在将其移植到不同的编程语言,如 JavaScript、Ruby、PHP,因为它们不是用 Java 编写的。 google 库libphonenumber 是用 PHP 编写的,我想知道为什么有人会将它移植到 PHP 语言。

【问题讨论】:

  • 您在使用 Java 库时遇到了什么问题?它应该很简单。您要解决的实际问题是什么?
  • @MattBusche 我正在使用的服务器有很多其他 imp 的东西正在发生,因此我试图避免使用 Java 库方法。我不想在进行更改并破坏任何其他内容后重新启动该服务器。
  • 为什么不试试 JavaLoader.cfc(请参阅我的答案中的链接)?它是一个动态类加载器,允许您使用 jar,而无需将它们添加到核心 CF 类路径或重新启动。

标签: coldfusion coldfusion-9


【解决方案1】:

(这更像是评论,但有点太长了)

似乎这已经在您的其他线程的 cmets 中得到了回答,但重申一下:

还有其他方法可以使用 CF 中的 java 库吗?

没有。基本上只有一种方法可以使用 CF 中的 java 库。将 jar (s) 添加到类路径并使用 createObject。您还可以使用像 Mark Mandel's JavaLoader.cfc 这样的动态类加载器(或该项目的 rip baked into CF10+)。然而,最终他们都做同样的事情。

由于在 CF 中使用 java 库非常简单,我很好奇你为什么不想使用它。虽然我想你可以用纯 CFML 重写它,但我会问为什么?库的全部意义在于重用,这可以节省开发时间。由于您已经有一个兼容的库可供您使用,因此重写它没有多大意义。除非您将其作为一种学习练习来进行。

google 库 libphonenumber 是用 PHP 编写的

没有。 portwritten in PHP。 “官方”项目是“一个 Java、C++ 和 Javascript 库”。所以听起来你的选择是java版本(服务器端)或javascript版本(客户端使用)。这就对了。

我想知道为什么有人会把它移植到 PHP 语言。

因为 java 库并不兼容所有的平台,PHP 就是其中之一。如果在不受支持的平台上的开发人员想要使用它,他们有两种选择:移植它或从头开始编写自己的。由于 google 项目已经完成了大部分繁重的工作,因此移植更简单。

【讨论】:

  • 感谢您的回复。所以只有其他选项似乎是用 CFML 重写整个东西或使用现有的 Java 库。
  • 是的。尽管您省略了客户端 javascript 版本。我真的看不到重写已经存在的东西的价值。为什么你不想使用java库?
  • 正如 Leigh 指出的,使用 JavaLoader CFC。这样您就可以从libphonenumber JAR 中加载任何内容,而无需重新启动服务或影响服务的库结构。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 2023-01-17
  • 1970-01-01
  • 1970-01-01
  • 2012-08-18
  • 2020-07-23
  • 1970-01-01
相关资源
最近更新 更多