当前位置:网站首页>[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 ;
边栏推荐
- Reptile practice
- FBO and RBO disappeared in webgpu
- Sentinel production environment practice (I)
- Livelocks and deadlocks of concurrency control
- The simple problem of leetcode is to split a string into several groups of length K
- Solutions for unexplained downtime of MySQL services
- Matlab draws a cute fat doll
- AD637 usage notes
- [Yugong series] go teaching course in July 2022 004 go code Notes
- "Chris Richardson microservices series" uses API gateway to build microservices
猜你喜欢
The real situation of programmers
Getting started with microservices (resttemplate, Eureka, Nacos, feign, gateway)
Three "factions" in the metauniverse
Create a virtual machine on VMware (system not installed)
What if win11 is missing a DLL file? Win11 system cannot find DLL file repair method
点到直线的距离直线的交点及夹角
Implementation technology of recovery
The Blue Bridge Cup web application development simulation competition is open for the first time! Contestants fast forward!
Calculation method of boundary IOU
Advantages and disadvantages of the "Chris Richardson microservice series" microservice architecture
随机推荐
The difference between MVVM and MVC
The Blue Bridge Cup web application development simulation competition is open for the first time! Contestants fast forward!
Technology cloud report won the special contribution award for the 10th anniversary of 2013-2022 of the "cloud Ding Award" of the global cloud computing conference
Microservice link risk analysis
科技云报道:算力网络,还需跨越几道坎?
Draw a red lantern with MATLAB
2022-07-05:给定一个数组,想随时查询任何范围上的最大值。 如果只是根据初始数组建立、并且以后没有修改, 那么RMQ方法比线段树方法好实现,时间复杂度O(N*logN),额外空间复杂度O(N*
AD637 usage notes
Some tutorials install the database on ubantu so as not to occupy computer memory?
Character conversion PTA
Basic grammar of interview (Part 1)
The statistics of leetcode simple question is the public string that has appeared once
Pinctrl subsystem and GPIO subsystem
Interprocess communication in the "Chris Richardson microservice series" microservice architecture
Did you brush the real title of the blue bridge cup over the years? Come here and teach you to counter attack!
Learning of mall permission module
Text组件新增内容通过tag_config设置前景色、背景色
Server optimization of performance tuning methodology
Meituan dynamic thread pool practice ideas, open source
Common interview questions of redis factory