java - 如何寫一個intellij-idea插件,實現編譯時修改原始碼的目的
巴扎黑
巴扎黑 2017-04-18 10:53:26
0
3
823

比如下麵這段Java源碼:

String pcName = "$local_pc_name$";
System.out.println(pcName);

我希望IDEA編譯後運行,輸出的是具體的電腦名,也就是說,在哪台機器編譯,就輸出哪台。
比如我是在a-pc這台電腦上編譯的,就輸出顯示a-pc

這個怎麼寫插件實現呢?

PS:
1、源碼不修改,也就是保證另一台電腦編譯時也有"$local_pc_name$"這個標記;
2、我想寫個IDEA插件,在編譯時自動處理這樣的字符串。

還煩請大神出手相助一二。

補充:電腦名這個隻是我舉了個栗子,我的目的是編譯時替換特定字符串,而且源碼不變。
也感謝已經回複的兩位朋友出謀劃策。

巴扎黑
巴扎黑

全部回覆(3)
巴扎黑

我希望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");
}
刘奇

透過環境變數設定

洪涛

AbstractProcessor
應該使用註解處理器而不是插件。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板