比如下麵這段Java源碼:
String pcName = "$local_pc_name$";
System.out.println(pcName);
我希望IDEA編譯後運行,輸出的是具體的電腦名,也就是說,在哪台機器編譯,就輸出哪台。
比如我是在a-pc
這台電腦上編譯的,就輸出顯示a-pc
。
這個怎麼寫插件實現呢?
PS:
1、源碼不修改,也就是保證另一台電腦編譯時也有"$local_pc_name$"
這個標記;
2、我想寫個IDEA插件,在編譯時自動處理這樣的字符串。
還煩請大神出手相助一二。
補充:電腦名這個隻是我舉了個栗子,我的目的是編譯時替換特定字符串,而且源碼不變。
也感謝已經回複的兩位朋友出謀劃策。
巴扎黑2017-04-18 10:55:26
我希望IDEA編譯後運行,輸出的是具體的電腦名,也就是說,在哪台機器編譯,就輸出哪台。
試試這個
import java.net.InetAddress;
import java.net.UnknownHostException;
String hostname = "Unknown";
try
{
InetAddress addr;
addr = InetAddress.getLocalHost();
hostname = addr.getHostName();
}
catch (UnknownHostException ex)
{
System.out.println("Hostname can not be resolved");
}