因投诉而编辑从头开始重启问题。我是这种格式的新手和intellij所以请原谅......
我正在intellij中为类构建一个项目。该项目导入jnetcap并使用它来处理捕获的pcap文件。我的问题是我有两个类文件,我试图整合。 NetTraffic是用户界面类,ProcessPacket实际读入数据包并完成工作。
我曾尝试创建一个项目并将ProcessPacket导入NetPacket但到目前为止还没有成功。我确信我在这个过程中遗漏了一些简单的东西,但我找不到任何显示正确方法的东西。
我已经通过在src目录下创建一个包并将这两个文件添加到该包来实现它。这并不需要从NetPacket类导入并且似乎可以工作,但我担心的是我需要能够从linux命令行运行它。到目前为止,我一直在用一个源文件中的所有内容工作,所以直到现在它还没有成为问题。我不记得过去在日食下使用过包来做这件事。
有人可以提供有关如何将这些源文件正确添加到我的项目的一步一步的过程,以便我能够将ProcessPacket导入到NetTraffic中,或者将这样的包留在工作包中吗?
有问题的文件位于src目录中名为nettraffic的包中。
NetTraffic.java
package nettraffic;
public class NetTraffic {
public static ProcessPacket pp;
public static void main (String args[]) {
pp = new ProcessPacket();
pp.PrintOut();
}
}
ProcessPacket.java
package nettraffic;
import org.jnetpcap.*;
public class ProcessPacket {
public ProcessPacket() {
}
public void PrintOut() {
System.out.println("Test");
}
}
请注意,目前这些功能尚无实际功能。只是尝试在继续之前获取类导入语法。虽然这似乎是作为一个包工作,但我希望在不使用包并将ProcessPacket.java导入NetTraffic.java的情况下完成它。
答案 0 :(得分:0)
public class NetTraffic {
ProcessPacket pp = new ProcessPacket();
pp.PrintOut();
}
您在任何构造函数或方法或类似块(静态或非静态初始化程序块......)之外调用PrintOut()方法,这是不合法的。把它放在构造函数或方法中。
public class NetTraffic {
public NetTraffic() {
ProcessPacket pp = new ProcessPacket();
pp.PrintOut();
}
}