【发布时间】:2020-03-09 04:22:04
【问题描述】:
这让我完全困惑。
规格:Linux Mint 18.3、Java 11、Groovy 2.5.9。
这些文件位于 NTFS 格式的分区上可能很有趣。
我用一个简单的@Grab 制作了一个简单的 Groovy 脚本文件:
package test;
@Grab(group='org.apache.commons', module='commons-lang3', version='3.7')
println "bye"
...失败:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/media/chris/W10 D drive/My Documents/software projects/EclipseWorkspace/GroovyExp2020-03-08/src/test/testscript.groovy: 5: unexpected token: println @ line 5, column 1.
println "bye"
^
1 error
如果我注释掉 @Grab 行,它运行正常。
如果我这样编写脚本:
package test
def bosh = "jellow world"
bosh = "bash"
@Grab(group='org.apache.commons', module='commons-lang3', version='3.7')
bosh = "bish"
...在最后一行标记的投诉更改为“Groovy:当前范围已包含名称为 bosh 的变量”(!)。
如果我在 Grab 行的末尾加一个分号:
package test;
@Grab(group='org.apache.commons', module='commons-lang3', version='3.7');
println "bye"
...投诉变成“Unexpected token:;”
到目前为止,莫名其妙地莫名其妙。然而,更奇怪的是,我现有的一些脚本仍然可以正常工作:我可以像上面那样插入@Grab 行,而不会抱怨“意外令牌”。
这不是 Eclipse 生成的废话:我在 Linux CLI 上遇到了同样的问题。
【问题讨论】: