我处于非常非常不安的境地。我的程序在netbeans中工作时100%正常,但是当我构建它时它有一些问题。也就是说,在我的程序中,有一个接口和10个实现类。程序根据用户保存文件的方式调用正确的实现类(例如:如果用户将其保存为game.yellow,它将调用" YellowImpl.java",如果保存为game.red,则&# 34; RedImpl.java"同样)。
但是当它构建时,它会调用一切正常,而不是YellowImpl !!这意味着,如果用户将其保存为game.red,它将调用" RedImpl"正确且与所有其他实现相同,而不是YellowImpl。当用户将文件保存为game.yellow时,程序什么也不做!但是当它在netbeans中时,这不会发生!我试过清洁和建造,仍然不好!是什么造成的?请帮忙!
但是,我无法提供代码,因为它有很多编码
PS:我也在使用一些库
答案 0 :(得分:1)
很难准确理解你的解释是什么问题而没有代码。但是我假设你遇到了实现命名约定的问题。
也许以下链接可以提供帮助。
答案 1 :(得分:0)
我同意@Rhys:很难理解你的应用程序会发生什么。请允许我给你一个建议:不要认为(即使1秒钟)java编译器,JVM等存在错误。这绝对是你的错误。
如何找到它?我建议你使用远程调试。 使用启用的远程调试器在IDE外部(在您的情况下为NetBeans)运行应用程序,使用net beans连接到它并调试应用程序。我相信你会在几分钟内解决问题。
如何启用远程调试?将以下长字符串添加到java执行命令行:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
如果在程序执行的最初阶段发生某些事情,请使用suspend=y
。
现在从NetBeans连接到此应用程序。这很简单,只需根据应用程序的配置将其配置为端口8000
。
就是这样。祝你好运。
答案 2 :(得分:0)
非常感谢回复人员。但是,我设法找到了这个问题。这是一个简单的大写案例!!我有一个名为“kolor”的包,所有的实现都在里面。在我的“YelloImpl”类中,我已经将包称为“Kolor”(注意“K”是大写)。 netbeans很好,但外面没有。清理完毕后,一切都很顺利。再次感谢所有回复。