Groovysh Grape导入无法正常工作

时间:2017-06-29 22:20:19

标签: groovy grape groovyshell groovysh

我正在使用Groovysh,我需要使用Grape加载一些类。现在我正在尝试这个:

If (!([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent
()).IsInRole([Security.Principal.WindowsBuiltInRole]"Administrator")) {
                Start-Process powershell.exe "-NoProfile -ExecutionPolicy Bypass -File `"$PSCommandPath`"" -Verb RunAs
                Exit
            }
    #The servers that we want to use
    $newDNSServers = "1.1.1.1","2.2.2.2"

    # Get all network adapters that already have DNS servers set
    $adapters = Get-WmiObject Win32_NetworkAdapterConfiguration | Where-Object {$_.DNSServerSearchOrder -ne $null}

    # Set the DNS server search order for all of the previously-found adapters
    $adapters | ForEach-Object {$_.SetDNSServerSearchOrder($newDNSServers)}

    #Flushing DNS
    ipconfig /flushdns

    #Registering DNS
    ipconfig /registerdns

    Set-DnsClientGlobalSetting -SuffixSearchList @("mydomain.local")

然而,在我输入导入后,Groovy说

  

groovysh_evaluate:4:无法解析课程

奇怪的是,如果我试试这个:

> @Grab(group='group.example', module='module.example', version='1.2.3')
> import group.example.TheClass
> theClass = new TheClass()

第一次导入和声明失败,但第二次成功。这可能是一个错误,也可能是我做错了什么。我目前正在使用Groovy 2.4.12,非常感谢任何帮助。当我在脚本中尝试相同的东西时,它工作正常,所以我很困惑。我也尝试过使用interpreterMode,但也没有运气。

2 个答案:

答案 0 :(得分:0)

我发现如果不是

import group.example.TheClass

我做

import group.example.*

有效。看起来这仍然是一个错误,但这是一个解决方案,以防其他人遇到这个问题。

答案 1 :(得分:0)

尝试这种方式:

groovy:000> import groovy.grape.Grape
===> [import groovy.grape.Grape]
groovy:000> Grape.grab(group:'net.sourceforge.htmlunit', module:'htmlunit', version:'2.44.0')
===> null
groovy:000> import com.gargoylesoftware.htmlunit.WebClient
===> [import groovy.grape.Grape, import com.gargoylesoftware.htmlunit.WebClient]