扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

java鎬庝箞璋冪敤groovy鑴氭湰

扬州沐宇科技
2024-01-03 11:31:11
groovy, Java

瑕佸湪Java涓皟鐢℅roovy鑴氭湰锛屼綘闇€瑕佷娇鐢℅roovy鐨勭紪璇戝櫒鍜岃繍琛屾椂鐜銆?/p>

涓嬮潰鏄竴涓畝鍗曠殑绀轰緥锛屽睍绀轰簡濡備綍鍦↗ava涓皟鐢℅roovy鑴氭湰锛?/p>

  1. 棣栧厛锛岀‘淇濅綘鐨勯」鐩腑鍖呭惈浜咷roovy鐨勪緷璧栥€傚彲浠ヤ娇鐢∕aven鎴朑radle绛夋瀯寤哄伐鍏锋潵娣诲姞Groovy鐨勪緷璧栥€?/p>

  2. 鍒涘缓涓€涓狦roovy鑴氭湰鏂囦欢锛屼緥濡?quot;example.groovy"锛屽苟缂栧啓浣犵殑Groovy鑴氭湰鍐呭銆備緥濡傦細

def greet(name) {
    "Hello, $name!"
}
  1. 鍦↗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>

扫码添加客服微信