突然完全崩溃:找不到符号,ClassNotFoundException (Java,NetBeans)



我有一个在Tomcat中运行的java webapp(servlet(和一个相关的外部.jar库。一切都很好,突然找不到符号(方法名称(。即使我可以在 netbeans 中运行该应用程序,也无法构建要部署到服务器的应用程序:生成失败;与外部.jar文件相关的一系列"找不到符号"错误,在 NetBeans 中作为"库"添加。库运行良好,未更改:

.../src/java/com/shelterislandsoftware/alphascreen/screen/FeatureNumber.java:842:

error: cannot find symbol
this.formatType = SisFormat.valueOf(in.readUTF());
symbol:   method valueOf(String)
location: class SisFormat
.../src/java/com/shelterislandsoftware/alphascreen/screen/FeatureNumber.java:911:
error: cannot find symbol
out.writeUTF(formatType.name());
symbol:   method name()
location: variable formatType of type SisFormat

SisFormat.java类的源文件位于它们一直所在的正确 src 文件夹中;这些方法存在于类中并且编写正确。有什么建议吗?谢谢。

更新:现在,我也无法(重新(构建旧的JavaFx项目。java代码已经构建并作为osx应用程序工作;我想更改 icns 映像,但无法重建。我怀疑新映像是构建问题的根源,就像我怀疑我的(功能完美的(java servlet代码是上述构建问题的根源一样。我不确定,但我真的怀疑新的NetBeans 8.2和/或osx Mojave有问题。没人感兴趣,那好吧。我刚刚将(以前(库源代码类直接复制粘贴到上述主项目中,这让我可以构建。这是次优的,因为我在单独的 Web 应用程序中使用相同的.jar文件,所以现在我有两个相同类的副本要维护。哦,还有,在上面描述的这个 Web 应用程序中现在无法构建为外部 jar 的相同.jar,仍然可以完美地构建为另一个 Web 应用程序中的外部 jar。 随便。

我解决了这个问题。新的osx(Mojave(和最新的Netbeans在撰写本文(8.2(时不能容忍某些包名称。我通过更改包名称解决了问题。具体来说,我有项目(在他们自己的项目目录中(和一个库(在它自己的库目录中(。虽然这些目录在计算机的文件系统中是不同的,但 Netbeans 认为是"包名称"的这些路径的子段具有一个共同的根元素。项目和库"包名称"都像com.mydomain一样开始,后跟项目或库的特定名称。我通过将库包名称更改为"lib.mydomain"来解决此问题,并且所有时髦的构建问题都停止了。

最新更新