技术支持常见问题解答

许可证密钥

C1. 当我购买的你的产品后,我收到一封邮件问我公司和产品的名称。我可以理解你需要我公司的名称,但为什么你需要我的产品名称。可以解释一下吗?

很多公司都使用杰笛。而在一个公司里面,也会有很多产品使用杰笛。在这种情况下,为了能够产生一个唯一的许可证密钥,我们需要公司名称和产品或项目名称。

C2. 不是不给你我的产品名称,只是因为我现在做的产品是个机密的项目,不能跟你说?这时候我该怎么办?

没有关系。我们并非是想知道您的产品的真实名称,您可以给我们一个代码名称或者什么别名都可以。只要当我们或者别人问起时,您知道这个名字是指你做的项目就可以了。

C3. 我购买了你们的产品而且按照要求加了许可证密钥,可是程序仍然弹出试用版本的提示窗口,为什么?

您可能还是在用试用版本。试用版本不给您加不加许可证密钥,都始终是试用版。请按照我们给您发的“谢谢购买杰笛产品”邮件里的提示,去付费用户下载专区去下载正式版本,应该就不会出现弹出窗口了。

C4. 我下载了正式版本,也加了许可证密钥,可是还是弹出对话框说我没有购买某个产品。而事实上我购买了。我该怎么办?

问题应该出在您在代码里用到杰笛类的时候,许可证密钥还没有被执行到。您可以试着把许可证密钥移到您的主类最前面的静态代码区,这样它会在其它任何代码开始之前被执行到。如果还是不行,请和我们联系,因为许可证密钥本身可能有问题。

C5. 我购买了杰笛的产品,平时使用都没有问题。可是当我们试用其它公司的GUI Builder来设计一个需要杰笛组件的界面时,我还是遇到弹出窗口说我没有购买。我该怎么办?

那是因为您需要在GUI Builder里也安装许可证密钥。您可以提供系统变量(system properties)的方法来加。 每个GUI Builder支持自定义系统变量的方法各不一样,有的是通过一个专门的系统变量文件,有的直接改批处理文件。具体如何操作您可以参照GUI Builder的手册。需要添加的系统变量如下。其中的xxx要替换成我们给您的许可证密钥的值。

verifyLicense.companyName=xxx
verifyLicense.projectName=xxx
verifyLicense.licenseKey=xxx

C6. 我是一个付费客户,在开发者论坛上注册了,可是我没法访问一些客户专用论坛。我该怎么办?
客户专用论坛是为付费客户专门准备的,需要我们单独给您权限。尽管您是付费客户,可是我们没法和您在论坛的用户名自动对上号。所以您唯一要做的就是告诉我们您在开发者论坛注册的用户名,我们就可以给您权限。

常见客服问题

D1. 我有一些杰笛的JARS,怎样才能知道它是什么版本?
 您可以运行“java -jar jide-common.jar”。它会弹出一个小窗口告诉您版本号。在您的代码了,您可以用Lm.getProductVersion()去得到版本号。

D2. 我发现一个杰笛的错误,怎样告诉你最好?
首先,请搜索开发者论坛,看看是否有类似的问题;其次,试一下我们最新的版本,因为我们有可能已经修复它了;再次,确定它不是Swing的问题。我们有时候会间接的去解决一些Swing的错误,但是并非每次都可能这样做;然后,确定它不是您自己代码的错误。最简单的办法就是看看能不能在我们的演示程序里重现错误;最后,可能的话,请务必在错误报告中包括一个独立的测试例子,可以是您自己写的,可以是稍作修改的我们的演示程序。不论哪个,我们要可以编译执行来重现错误。

D3. 我理解你为什么需要一个测试的例子,不过不知道为什么,我没法在演示程序里重现错误。我该怎么办?
这是有可能的。错误的出现有各种各样的可能性。如果伴随错误有堆栈跟踪输出,务必给我们。您可以下载测试版本的JARS,这样可以看到堆栈跟踪行号,利于我们发现问题所在。另外,如果您有我们源代码的使用许可,您可以跟踪到我们源代码里面。尽管您没有责任怎样做,但事实证明,很多时候遇到难解决的问题时,这是最有效的方法。如果没法单独重现,没有我们源代码,而且实在没有其它办法,那只能把您的应用程序给我们一份,让我们一起去发现问题所在。无论如何,我们会尽量帮助您去解决问题的。

D4. 我发现过去版本的一个错误,你在最新的版本里已经修复了。但是因为我们马上面临产品发布,我不能现在设计到最新版本。我是否可以从你那里拿到一个基于过去版本的补丁程序?
 因为资源有限,我们只在最新的版本上修复错误。如果您需要在过去的版本上得到补丁,唯一的办法是通过收费的方式。一般的小问题的补丁,我们可以在至少两小时内完成。一些复杂错误可能需要更长的时间。我们只能按照小时收费。需要指出的是有些错误修复涉及面太广,可能会造成其它方面不稳定,或者需时过长。这种情况下,可能还比如升级到最新版本更好。

D5. I 我在编译我的代码使用你的产品,但是遇到这样的编译错误“... class file has wrong version 49.0, should be 45.0 or 46.0 or 47.0 or 48.0”。这到底怎么回事?
 每一个JDK产生的编译文件对应一个默认的版本。比如JDK 1.4.2编译出来的文件的版本是48.0;JDK 5是49.0;JDK 6是50.0;新出来的JDK 7则是51.0。低版本的可以在高版本JDK上运行,而反过来就不行。为了我们产品的最大兼容,我们还是用JDK 6来编译,但是强制它产生49.0版本的文件(注意,JDK 6默认的版本是50.0)。这样我们即可以使用JDK 6提供的新的语言特性,有可以让还在JDK 5上运行程序的客户可以使用我们的产品。但是,如果您还在使用JDK1.4.2,您试图用我们的产品编译,就会遇到上面错误提示。解决的办法就是下载我们专门为JDK1.4.2用户准备的JARS。

另外我们JDK支持的政策是同时正式支持两个JDK版本。现在JDK 7已经正式发布,所以目前的两个JDK版本是JDK 7和JDK 6。尽管我们的产品在JDK 5还是可以正常运行,但它已经不是我们正式支持的JDK了。        

D6. 我可不可以问你们跟杰笛无关的Swing问题呢?
 公司客服部的政策是仅仅回答于杰笛有关的问题。尽管我们会具体情况具体分析,但如果您得到的回复是“对不起,您的问题和杰笛无关,我们无法解答”时,也不要觉得奇怪。因为如果不这样的话,我们的客服人员会耗费很多时间,反而耽误了其它客户的服务。

当然有时侯很难区分什么是杰笛问题,什么是Swing的问题。唯一的办法就是把用到杰笛的地方都注释或者替换成对应的Swing组件,看看问题是否还存在。比如JideButton替换成JButton、JideTabbedPane替换成JTabbedPane等等。如果问题没有了,那显然是杰笛的问题。如果问题还在,那很有可能是Swing的问题。您应该去Swing的公开论坛或者JDK的错误数据库去看看。