java ecj_独立使用 ecj

ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac)。可以单独下载使用。

下载地址: http://mirrors.ustc.edu.cn/eclipse/eclipse/downloads/drops4/R-4.11-201903070500/ecj-4.11.jar

(使用 ustc 的 mirror,然后在 eclipse 的下载里表中找到独立的 ecj 包)

因为是 jar 包,所以,需要 jre 来执行,我写了个小脚本:

@echo off

java-jar "C:\Program Files (x86)\Java\jre1.8.0_211\lib\ecj-4.11.jar" -7 %*

如上所示,我把它拷贝到了 java 的标准 lib 里面放着了。

上面脚本的意思呢就是,使用 java 执行这个包,然后把所有的参数都传进来。其中 -7 是指定编译使用的 java 版本为 java7,目前 ecj 支持 java9 及以前的所有 java 版本。

为了能在 cmd 下直接使用,我把这个脚本命名为 ecj.cmd, 放在了: C:\Program Files (x86)\Common Files\Oracle\Java

PS:用同样的方法来使用 openJDK 包里的 javac, 用起来也方便的

至于为什么不用 javac。。。java 的安装体验实在太差。。。不知道这算不算理由。。。

尝试编译下面的代码:

public classTest{public voidmethod()

{newtestInterface()

{public voidinfo()

{

System.out.println("Hello");

}

}.info();

}public static voidmain(String[] args)

{

Test test= newTest();

test.method();

}

}interfacetestInterface

{public voidinfo();

}

没毛病:

D:\Project\Java\inner>ecj Test.java

D:\Project\Java\inner>java Test

Hello

另外一些情况,我们的编译可能用到额外的 jar 包:

ecj -cp surrounscm-api.jar GridPaneApplication.java

用上面指令编译的 class,在执行时要这样添加 classpath:

java -cp .;lib\surroundscm-api.jar GetMiniAutosar

也就是,不知道为啥,但是需要先添加当前目录作为 classpath。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值