如何通过GroovyShell设置类路径?

如何通过GroovyShell设置类路径?,groovy,classpath,Groovy,Classpath,以下磁盘设置 temp/ Folder/ myPackage/ Person.groovy test.groovy script.groovy “script.groovy”文件内容 import myPackage.Person new Person() def cl = new GroovyClassLoader(this.getClass().classLoader) cl.addURL (new URL ('file://C:/temp/Fold

以下磁盘设置

temp/
  Folder/
    myPackage/
        Person.groovy
  test.groovy
  script.groovy
“script.groovy”文件内容

import myPackage.Person

new Person()
def cl = new GroovyClassLoader(this.getClass().classLoader)
cl.addURL (new URL ('file://C:/temp/Folder'))

new GroovyShell(cl).evaluate (new File ('C:/temp/script.groovy'))
“test.groovy”文件内容

import myPackage.Person

new Person()
def cl = new GroovyClassLoader(this.getClass().classLoader)
cl.addURL (new URL ('file://C:/temp/Folder'))

new GroovyShell(cl).evaluate (new File ('C:/temp/script.groovy'))
问题:

“groovy c:\temp\test.groovy”导致

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup 
failed:
C:\temp\script.groovy: 1: unable to resolve class myPackage.Person
 @ line 1, column 1.
   import myPackage.Person
   ^

1 error
但是'groovy-cpc:\temp\Folder C:\temp\test.groovy'当然可以工作

我的逻辑错误在哪里?不应该从添加的类路径将准备好的类装入器装入类人员吗

问候,,
Gert

我在试图通过Jenkins执行Groovy文件时遇到了类似的问题

09:00:45 ERROR: startup failed:
09:00:45 automation_foodoo.groovy: 11: unable to resolve class com.foo.fooclass
09:00:45  @ line 11, column 1.
09:00:45    import com.foo.fooclass
09:00:45    ^
09:00:45 
09:00:45 1 error
09:00:45 
09:00:48 Finished: FAILURE
没有积极结果的行动:

  • 在.bash\u配置文件中设置类路径

    CLASSPATH=/Users/Shared/Jenkins/Home/workspace/JobName/src/main/groovy
    export CLASSPATH
    
  • 通过设置属性内容,通过“注入环境变量…”设置在Jenkins自身中设置类路径

    CLASSPATH=$CLASSPATH=/Users/Shared/Jenkins/Home/workspace/JobName/src/main/groovy
    
  • 通过Groovy cli运行任何包含任何“import”语句的Groovy文件将返回相同的“无法解析类”

正如您在最初的帖子中提到的,当我通过在cli中包含“-cp”设置来运行Groovy文件时,它工作得很好


我将自己的信息添加到这篇文章中,希望能重新点燃这篇文章的火焰,并找到有人已经发现了这一点:)

有没有找到导入jenkins管道的解决方案?对我来说,很可笑的是,很难得到一个简单的、个人的java类