【发布时间】:2017-09-15 11:59:35
【问题描述】:
我开始在 Netbeans 中开发一个 maven 项目,几周后我的代码开始随机出错。结果发现 IDE 随机停止识别我一直在使用的特定类。这可能是一些超级基本的 Java 问题,可以通过适当的练习来解决,但我觉得我需要帮助。
错误类代码:
package me.mafrans.plm.httpd.pages;
import com.commodore.pixellibertymod.rank.Rank; // This is the import that is erroring
import java.io.IOException;
import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import me.mafrans.plm.httpd.util.PUtil;
public class index implements WebPage
{
@Override
public String[] getPages()
{
return new String[] {"index", "header", "header_style.css"};
}
@Override
public String getHTML(String url, Map<String,String> params, Rank userrank)
{
try
{
return PUtil.getHtmlFile("index");
}
catch (IOException ex)
{
Logger.getLogger(index.class.getName()).log(Level.SEVERE, null, ex);
}
return "<html><body style=\"font-family:Arial\"><h1 style=\"text-align:center;\">404</h1>\n"
+ "<p style=\"text-align:center;\">This page could not be found, maybe it's down for the moment?</p>\n"
+ "</body></html>";
}
}
正如您在屏幕截图中看到的,Rank.class 显然存在: screenshot
我尝试过的: - 重新启动 netbeans - 清除 netbeans 缓存 - 读取依赖项 - 使用阴影依赖 - 删除 Roaming/Netbeans 文件夹
此外,当允许 netbeans 自动完成该类时,它只显示 Displayable 类:screenshot
【问题讨论】:
-
IDE 不会“随机”做事。你做错了什么。您有一个具有硬编码 HTML 标记的类这一事实表明需要学习很多东西。您需要将该依赖项添加到您的 Maven pom.xml。
-
感谢您的评论,我确实有很多东西要学,因为我还很年轻,并且只在 java 中编码了大约一年,依赖项已经在 pom.xml 中并且之前已经工作过但是突然停止工作。
-
程序员的第一课:没有什么是随机的。代码不会迫害你。你做错了什么,必须改正。永远都是你的错。有些东西改变了。我建议你不要使用 Maven。这是另一个很大的未知数。最好手动获取 JAR,将它们添加到 /Lin 目录,然后告诉 NetBeans 将其添加到 CLASSPATH。
-
我确定依赖项已正确添加到 pom 中,您是否有任何关于问题本身的信息,因为我相信经验不足的问题会随着时间的推移自行解决。
-
JVM 不同意你的观点。包含该类的 JAR 在哪里? NetBeans 如何在运行时告诉 JVM?
标签: java maven netbeans dependencies