java - 如何写一个intellij-idea插件,实现编译时修改源代码的目的
巴扎黑
巴扎黑 2017-04-18 10:53:26
0
3
839

比如下面这段Java源码:

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

我希望IDEA编译后运行,输出的是具体的电脑名,也就是说,在哪台机器编译,就输出哪台。
比如我是在a-pc这台电脑上编译的,就输出显示a-pc

这个怎么写插件实现呢?

PS:
1、源码不修改,也就是保证另一台电脑编译时也有"$local_pc_name$"这个标记;
2、我想写个IDEA插件,在编译时自动处理这样的字符串。

还烦请大神出手相助一二。

补充:电脑名这个只是我举了个栗子,我的目的是编译时替换特定字符串,而且源码不变。
也感谢已经回复的两位朋友出谋划策。

巴扎黑
巴扎黑

répondre à tous(3)
巴扎黑

J'espère qu'une fois IDEA compilé et exécuté, la sortie sera le nom spécifique de l'ordinateur. En d'autres termes, quelle que soit la machine sur laquelle il est compilé, la sortie sera.

Essayez ceci

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

Défini via des variables d'environnement

洪涛

AbstractProcessor
Des processeurs d'annotation doivent être utilisés à la place des plugins.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal