当前位置:网站首页>[error record] file search strategy in groovy project (src/main/groovy/script.groovy needs to be used in the main function | groovy script directly uses the relative path of code)
[error record] file search strategy in groovy project (src/main/groovy/script.groovy needs to be used in the main function | groovy script directly uses the relative path of code)
2022-07-05 22:18:00 【Programmer community】
One 、 Error message
stay Java Class , call Groovy Script , The following error occurred ;
java.io.FileNotFoundException: Y:\002_WorkSpace\003_IDEA\Groovy_Demo\Script.groovy (Y:\002_WorkSpace\003_IDEA\Groovy_Demo\Script.groovy) at groovy.lang.GroovyCodeSource.<init>(GroovyCodeSource.java:108) at groovy.lang.GroovyShell.evaluate(GroovyShell.java:470) at JavaClass.startScript(JavaClass.java:17) at JavaClass.main(JavaClass.java:22)
Two 、 Solution
Groovy_Demo Is the name of the project root directory ;
The mistake itself is simple , But it involves Java And Groovy Different path finding mechanisms ;
Java class JavaClass be located Groovy_Demo\src\main\groovy Under the table of contents , To be in the right place Java Call middle note in class Script.groovy Script ;
The full path must be used here “src/main/groovy/Script.groovy” , To find “Script.groovy” Script ;
Java In the class Groovy Script , Need to use “src/main/groovy/Script.groovy” route ;
import groovy.lang.Binding;import groovy.lang.GroovyShell;import java.io.File;import java.io.IOException;public class JavaClass {
public void startScript() throws IOException {
// Notice that you create groovy.lang.Binding Binding binding = new Binding(); // Set up args Parameter to Binding Medium variable Among members binding.setVariable("args", new String[]{
"arg0", "arg1"}); // perform Groovy Script GroovyShell shell = new GroovyShell(JavaClass.class.getClassLoader(), binding); File file = new File("src/main/groovy/Script.groovy"); shell.evaluate(file); } public static void main(String[] args) {
try {
new JavaClass().startScript(); } catch (IOException e) {
e.printStackTrace(); } }}And in the Groovy Call in script Another one Groovy Script , If two Groovy The script is in the same directory , You can use relative paths directly " Script.groovy " Call ;
Reference resources 【Groovy】Groovy Script call ( Groovy Another script is invoked. Groovy Script | Binding scope binding Variable analysis | Binding class variables Member analysis ) Blog source code ;
边栏推荐
- 【愚公系列】2022年7月 Go教学课程 004-Go代码注释
- FBO and RBO disappeared in webgpu
- Did you brush the real title of the blue bridge cup over the years? Come here and teach you to counter attack!
- The American Championship is about to start. Are you ready?
- Promql demo service
- Database tuning solution
- Pl/sql basic syntax
- 数博会精彩回顾 | 彰显科研实力,中创算力荣获数字化影响力企业奖
- Kubernetes Administrator certification (CKA) exam notes (IV)
- Decorator learning 01
猜你喜欢

Official clarification statement of Jihu company

Ad637 notes d'utilisation

Meituan dynamic thread pool practice ideas, open source

Matlab draws a cute fat doll

实战:fabric 用户证书吊销操作流程

U盘的文件无法删除文件怎么办?Win11无法删除U盘文件解决教程

ICMP introduction

Three "factions" in the metauniverse

Win11 runs CMD to prompt the solution of "the requested operation needs to be promoted"

科技云报道:算力网络,还需跨越几道坎?
随机推荐
如何向mongoDB中添加新的字段附代码(全)
微服务链路风险分析
Sentinel production environment practice (I)
Database recovery strategy
A long's perception
Stored procedures and stored functions
Business learning of mall commodity module
数博会精彩回顾 | 彰显科研实力,中创算力荣获数字化影响力企业奖
FBO and RBO disappeared in webgpu
Microservice link risk analysis
Platform bus
Understand the basic concept of datastore in Android kotlin and why SharedPreferences should be stopped in Android
Leetcode simple question: check whether each row and column contain all integers
Win11 runs CMD to prompt the solution of "the requested operation needs to be promoted"
FBO and RBO disappeared in webgpu
【愚公系列】2022年7月 Go教学课程 004-Go代码注释
Damn, window in ie open()
Countdown to 92 days, the strategy for the provincial preparation of the Blue Bridge Cup is coming~
Recovery technology with checkpoints
如何开发引入小程序插件