国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - 如何寫一個intellij-idea插件,實現編譯時修改源代碼的目的

瀏覽:98日期:2024-01-07 18:01:35

問題描述

比如下面這段Java源碼:

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

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

這個怎么寫插件實現呢?

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

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

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

問題解答

回答1:

我希望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');}回答2:

通過環境變量設置

回答3:

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

標簽: java
主站蜘蛛池模板: 商水县| 永定县| 英德市| 安溪县| 江津市| 潢川县| 阿荣旗| 金寨县| 浦县| 甘泉县| 吉首市| 微山县| 淮北市| 津南区| 东丽区| 镇远县| 绥宁县| 阜阳市| 咸宁市| 修水县| 罗甸县| 沛县| 平乡县| 新兴县| 浦北县| 修水县| 工布江达县| 利川市| 怀化市| 嘉黎县| 新蔡县| 西华县| 黎川县| 双流县| 重庆市| 忻州市| 绵阳市| 观塘区| 连州市| 获嘉县| 舞钢市|