簡體   English   中英

如何使用Java中的GroovyScriptEngine加載字符串輸入(groovy腳本)

[英]How to load a string input(groovy script) using GroovyScriptEngine from Java

我有一個字符串輸入,這是一個groovy腳本,它包含一個或多個方法,如:

def printHello()
{
    println("Inside printHello()")
}

def setData(String str)
{  
    println("Incoming data : " + str)
}

這是一種字符串格式,這是我的輸入。

從Java程序,我想使用GroovyScriptEngine加載此字符串。

我可以通過成功使用GroovyClassLoader來加載和調用上述方法。

new GroovyClassLoader().parseClass(scriptStr)

不幸的是,通過使用GroovyScriptEngine ,我無法加載字符串。

我將此字符串輸入存儲到臨時groovy文件中並嘗試加載。 這是工作。

但我的意圖是使用GroovyScriptEngine直接加載字符串輸入。

有沒有辦法將groovy腳本內容作為字符串輸入加載到GroovyScriptEngine而不是使用文件路徑?

請幫幫我...

注意:這是我在GroovyClassLoader和GroovyScriptEngine之間進行的比較研究。

GroovyClassLoader可以直接加載類,但不能處理它的依賴。 GroovyScriptEngine只能加載腳本而不能加載類。 但是,它可以處理類依賴和熱重新加載。

你可以在這里找到詳細信息。 http://groovy-lang.org/integrating.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM