【问题标题】:netbeans makefile java executionnetbeans makefile java执行
【发布时间】:2015-08-31 16:04:17
【问题描述】:

这里我附上了源代码并制作了它的文件。 我使用网豆。我应该如何构建我的项目以在 netbeans 中执行此 java 代码。请帮助我详细的步骤。我是 netbeans 和 java 的新手。 我将 netbeans 8.0.2 用于 windows 10 64 位操作系统。

源代码:

package net.sourceforge.jpcap.tutorial.example15;

import net.sourceforge.jpcap.capture.*;
import net.sourceforge.jpcap.net.*;

/*
 *  This example utilizes the endCapture() feature.
 */
public class Example15 {
    private static final int INFINITE = -1;
    private static final int PACKET_COUNT = INFINITE;

    // BPF filter for capturing any packet
    private static final String FILTER = "";

    private PacketCapture m_pcap;
    private String m_device;


    public Example15() throws Exception {
      // Step 1:  Instantiate Capturing Engine
      m_pcap = new PacketCapture();

      // Step 2:  Check for devices 
      m_device = m_pcap.findDevice();

      // Step 3:  Open Device for Capturing (requires root)
      m_pcap.open(m_device, true);

      // Step 4:  Add a BPF Filter (see tcpdump documentation)
      m_pcap.setFilter(FILTER, true);

      // Step 5:  Register a Listener for Raw Packets        
      m_pcap.addRawPacketListener(new RawPacketHandler(m_pcap));

      // Step 6:  Capture Data (max. PACKET_COUNT packets)
      m_pcap.capture(PACKET_COUNT);
    }

    public static void main(String[] args) {
      try {
        Example15 example = new Example15();
      } catch(Exception e) {
        e.printStackTrace();
        System.exit(1);
      }
    }    
}


class RawPacketHandler implements RawPacketListener 
{
  private static int m_counter = 0;
  private PacketCapture m_pcap = null;

  public RawPacketHandler(PacketCapture pcap) {
    m_counter = 0;
    m_pcap = pcap;
  }

  public synchronized void rawPacketArrived(RawPacket data) {
    m_counter++;
    System.out.println("Packet " + m_counter + "\n" + data + "\n");

    if(condition())
      m_pcap.endCapture();
  }

  private boolean condition() {
    return (m_counter == 5) ? true : false;
  }
}

制作文件:

# $Id: makefile,v 1.1 2002/07/10 23:05:26 pcharles Exp $
#
#   package net.sourceforge.jpcap.tutorial.example15
#
PKG = net.sourceforge.jpcap.tutorial.example15
PKG_DIR = $(subst .,/, $(PKG))
REL = ../../../../..
include ${MAKE_HOME}/os.makefile
include ${MAKE_HOME}/rules.makefile

JAVA = \
    Example15

JAVA_SOURCE = $(addsuffix .java, $(JAVA))
JAVA_CLASSES = $(addsuffix .class, $(JAVA))

all: $(JAVA_CLASSES)

include ${MAKE_HOME}/targets.makefile
include ${MAKE_HOME}/depend.makefile

【问题讨论】:

    标签: java netbeans makefile jpcap


    【解决方案1】:

    Netbeans 将 Makefiles 用于 C++ 代码,但不用于 Java 代码。构建此代码很容易,但不需要 Makefile。

    1. 文件 -> 新建项目
    2. 选择左侧的类别 Java 和右侧的“具有现有源的 Java 应用程序”(使用此选项,项目和源将位于不同的目录中)。
    3. 点击下一步
    4. 更改项目名称和/或目录以在其中创建项目。
    5. 在对话框中添加原始源目录。
    6. 点击完成创建项目。
    7. 在 netbeans 中,您现在可以使用 Run-> Build Project 来构建它。
    8. 如果您真的需要一个 Makefile,只需创建一个只运行 Netbeans 项目(实际上是一个 ant 项目)的 Makefile。

    例如。

    build: 
        ant jar
    

    【讨论】:

    • 对上面的小改进: 1. File -> New Project 2. 选择左边的Category Java,右边选择'Java Project with Existing Sources'。 3. 单击下一步 4. 更改项目名称和/或目录以在其中创建项目。 5. 单击完成以创建项目。 6. 在 NetBeans 中,您现在可以使用 Run-> Build Project 来构建它。
    猜你喜欢
    • 2013-09-23
    • 2023-03-06
    • 1970-01-01
    • 2016-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-03
    • 1970-01-01
    相关资源
    最近更新 更多