使用NetBeans IDE 7.3.1,我使用JDK 1.7修改了Windows 7下的桌面应用程序。执行清理和构建,并在Windows 7,Windows XP和MAC下测试此应用程序。所有测试场景都在预期的每个操作系统下运行。
此应用程序移植到外部供应商,除了一个供应商之外,所有供应商都已加载并执行应用程序而没有任何问题。
一个供应商遇到问题,并在Windows XP下运行,会返回错误消息 - “无法找到或加载主类”。做了一点研究之后,这个错误通常表明JDK是不同的。他们下载并安装了JDK 1.7,但出现了相同的错误消息。我让他们去http://javatester.org/othertesters.html,确保java正在工作站上工作并验证java版本(1.7)。他们重新安装了JDK 1.7并仍然收到同样的错误。
我通过删除JDK 1.7,加载JDK 1.6并运行应用程序来复制错误。收到错误(“找不到主类”)。与他们收到的有点不同,但基本上是同样的问题。删除了JDK 1.6,加载了JDK 1.7并且问题消失了。
我的智慧结束了!我打算做一个appt。访问他们的工作站。但在此之前,我想制定一个计划来尝试不同的方案来解决问题。我不知道如何继续,因为我已经没有选择了。我希望有任何建议。
答案 0 :(得分:1)
行,
问题解决了。通过outlook发送应用程序,将可执行文件从.jar修改为.txt b4发送应用程序。我没想过要查看压缩的LIB目录。四个文件是.jar文件。 这些文件被隔离。将这些文件重命名为.txt b4压缩应用程序可以消除这个问题。重新发送zip,供应商解压缩并将所有.txt文件重命名为.jar。一切都很好。
欣赏每个人的意见。
答案 1 :(得分:0)
我相信他们的机器上仍然有一个JDK 1.6,并且出于某种原因使用它来尝试执行该应用程序。我在客户工作站看到过这种情况。
很多时候,人们都不知道他们安装了什么。告诉他们从工作站中删除所有JDK和JRE,通过卸载程序查看程序文件夹并手动删除内容。告诉他们该怎么做。在打电话时与他们一起做这件事。
然后让他们重新安装JDK 1.7。我几乎肯定它会在事后发挥作用。
或者,您可以编译旧JDK的应用程序。您也可以使用JDK 1.7通过设置类文件的目标版本来完成此操作。
答案 2 :(得分:0)
确保他们的JAVA_HOME路径指向JDK 1.7安装。我有类似的问题,我安装了多个JDK,需要使用最新的,但计算机指向旧版本。
要查找java_home在cmd中输入java -version
的版本。
如何找到java_home:How do I find where JDK is installed on my windows machine?