● 원본문서 : https://docs.oracle.com/javase/tutorial/networking/nifs/parameters.html
-d classes
-g
-verbose
-sourcepath src
-classpath .:classes
-Xlint
Java Compile시 옵션 파라미터를 설정하는 파일src/ListNetEx.java
소스코드 리스트package com.genie;
import java.io.*;
import java.net.*;
import java.util.*;
import static java.lang.System.out;
public class ListNetEx {
public static void main(String args[]) throws SocketException {
Enumeration<NetworkInterface> nets = NetworkInterface.getNetworkInterfaces();
for (NetworkInterface netint : Collections.list(nets))
displayInterfaceInformation(netint);
}
static void displayInterfaceInformation(NetworkInterface netint) throws SocketException {
out.printf("Display name: %s\n", netint.getDisplayName());
out.printf("Name: %s\n", netint.getName());
Enumeration<InetAddress> inetAddresses = netint.getInetAddresses();
for (InetAddress inetAddress : Collections.list(inetAddresses)) {
out.printf("InetAddress: %s\n", inetAddress);
}
out.printf("Up? %s\n", netint.isUp());
out.printf("Loopback? %s\n", netint.isLoopback());
out.printf("PointToPoint? %s\n", netint.isPointToPoint());
out.printf("Supports multicast? %s\n", netint.supportsMulticast());
out.printf("Virtual? %s\n", netint.isVirtual());
String mac_addr = null;
byte[] mac_bytes = netint.getHardwareAddress();
if (mac_bytes == null)
{
mac_addr = "loopback device";
} else {
StringBuilder sb = new StringBuilder(18);
for (int i = 0; i < mac_bytes.length; i++) {
if (sb.length() > 0) sb.append(':');
sb.append(String.format("%02X", mac_bytes[i]));
}
mac_addr = sb.toString();
}
out.printf("Hardware address: %s\n", mac_addr);
out.printf("MTU: %s\n", netint.getMTU());
out.printf("\n");
}
}
Java Source Code 파일Manifest-Version: 1.0
Main-Class: com.genie.ListNetEx
마지막 줄은 비어있는 라인이 반드시 있어야만 합니다. (위의 예에서 3번째 라인이 있습니다.)#!/bin/bash
pushd classes > /dev/null
rm -f com/genie/*.class
rm -f ListNetEx.jar
popd > /dev/null
만들어진 실행파일들을 삭제합니다.#!/bin/bash
javac @options @sources
Fedora는 기본적으로 make 실행파일이 있기 때문에 jake 이름으로 변경하였습니다.#!/bin/bash
pushd classes > /dev/null
jar cfm ListNetEx.jar ListNetEx.mf com/genie/*.class
jar tf ListNetEx.jar
popd > /dev/null
실행에 필요한 파일들을 하나의 jar 파일로 묶습니다.#!/bin/bash
java -classpath classes/ListNetEx.jar com.genie.ListNetEx
실행에 필요한 명령 스크립트