java鎬庝箞璋冪敤groovy鑴氭湰
瑕佸湪Java涓皟鐢℅roovy鑴氭湰锛屼綘闇€瑕佷娇鐢℅roovy鐨勭紪璇戝櫒鍜岃繍琛屾椂鐜銆?/p>
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥锛屽睍绀轰簡濡備綍鍦↗ava涓皟鐢℅roovy鑴氭湰锛?/p>
-
棣栧厛锛岀‘淇濅綘鐨勯」鐩腑鍖呭惈浜咷roovy鐨勪緷璧栥€傚彲浠ヤ娇鐢∕aven鎴朑radle绛夋瀯寤哄伐鍏锋潵娣诲姞Groovy鐨勪緷璧栥€?/p>
-
鍒涘缓涓€涓狦roovy鑴氭湰鏂囦欢锛屼緥濡?quot;example.groovy"锛屽苟缂栧啓浣犵殑Groovy鑴氭湰鍐呭銆備緥濡傦細
def greet(name) {
"Hello, $name!"
}
- 鍦↗ava浠g爜涓紝浣跨敤Groovy缂栬瘧鍣ㄥ拰杩愯鏃剁幆澧冩潵鍔犺浇鍜屾墽琛孏roovy鑴氭湰銆備緥濡傦細
import groovy.lang.GroovyClassLoader;
import groovy.lang.GroovyObject;
public class Main {
public static void main(String[] args) throws Exception {
// 鍒涘缓GroovyClassLoader
GroovyClassLoader classLoader = new GroovyClassLoader();
// 鍔犺浇Groovy鑴氭湰绫?/span>
Class<?> groovyClass = classLoader.parseClass(new File("example.groovy"));
// 鍒涘缓Groovy鑴氭湰瀵硅薄
GroovyObject groovyObject = (GroovyObject) groovyClass.getDeclaredConstructor().newInstance();
// 璋冪敤Groovy鑴氭湰鏂规硶
String result = (String) groovyObject.invokeMethod("greet", "John");
// 杈撳嚭缁撴灉
System.out.println(result);
}
}
鍦ㄨ繖涓ず渚嬩腑锛屾垜浠娇鐢℅roovyClassLoader鏉ュ姞杞藉拰瑙f瀽Groovy鑴氭湰鏂囦欢銆傜劧鍚庯紝鎴戜滑閫氳繃鍙嶅皠鏉ュ疄渚嬪寲Groovy鑴氭湰绫伙紝骞惰皟鐢ㄥ叾涓殑鏂规硶銆?/p>
璇锋敞鎰忥紝浣犲彲鑳介渶瑕佹牴鎹綘鐨勯」鐩粨鏋勫拰鏂囦欢璺緞鏉ヨ皟鏁翠唬鐮佷腑鐨勬枃浠惰矾寰勩€?/p>
杩欏彧鏄竴涓畝鍗曠殑绀轰緥锛屼綘鍙互鏍规嵁浣犵殑闇€姹傝繘琛屾洿澶嶆潅鐨勬搷浣溿€?/p>