簡體   English   中英

帶有@ 指令的 Groovy 腳本“意外令牌”

[英]Groovy script "unexpected token" with @ directive

這讓我完全困惑。

規格: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"

...投訴變成“意外的令牌:;”

至今莫名其妙莫名其妙。 然而,更奇怪的是,我現有的一些腳本仍然可以正常工作:我可以像上面那樣插入@Grab行,而不會抱怨“意外令牌”。

這不是 Eclipse 生成的廢話:我在 Linux CLI 上遇到了同樣的問題。

您不能只是在 groovy(或 Java)中的任何地方粘貼注釋

您需要注釋一個類、方法或字段

在您的示例中,您正在注釋變量賦值(不起作用)和方法調用(也不起作用)

將注解移至文件頂部或類定義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM