I am trying to get the hang of griffon/grails/groovy for a project.
I get this error at compile time from my Test1Controller.groovy file:
[griffonc] /home/ironmantis7x/griffon_projects/test1/griffon-app/controllers/test1/Test1Controller.groovy: 14: unable to resolve class Threading , unable to find class for annotation
[griffonc] @ line 14, column 5.
[griffonc] @Threading(Threading.Policy.SKIP)
[griffonc] ^
[griffonc]
[griffonc] /home/ironmantis7x/griffon_projects/test1/griffon-app/controllers/test1/Test1Controller.groovy: 14: unable to find class 'Threading.Policy.SKIP' for annotation attribute constant
[griffonc] @ line 14, column 16.
[griffonc] @Threading(Threading.Policy.SKIP)
[griffonc] ^
[griffonc]
[griffonc] 2 errors
Compilation error: Compilation Failed
This is my controller file:
package test1
import griffon.util.GriffonNameUtils as GNU
class Test1Controller {
def model
def clear = {
model.griffonClass.propertyNames.each { name -> model[name] = ''
}
}
@Threading(Threading.Policy.SKIP)
def submit = {
java.swing.JoptionPane.showMessageDialog(
app.windowManager.windows.find{it.focused},
model.griffonClass.propertyNames.collect([]) {
name -> "${GNU.getNaturalName(name)} = ${model[name]}"
}.join('n')
)
}
}
Like I said I am new to griffon/grails/groovy - can someone help me understand what I seem to be missing?
Thanks!
ironmantis7x
I made the change suggested below and now I get this error when I run: griffon run-webstart -clean:
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application.
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:778)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:552)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:889)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Application Error: Cannot grant permissions to unsigned jars. Application requested security permissions, but jars are not signed.
at net.sourceforge.jnlp.runtime.JNLPClassLoader.setSecurity(JNLPClassLoader.java:312)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:232)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:357)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:330)
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:770)
... 2 more
How do I sign the app to get past this error?
This is my configuration running griffon -version:
------------------------------------------------------------
Griffon 1.2.0
------------------------------------------------------------
Build: 11-Jan-2013 09:10 AM
Groovy: 2.0.6
Ant: 1.8.4
Slf4j: 1.7.2
Spring: 3.2.0.RELEASE
JVM: 1.7.0_09 (Oracle Corporation 23.2-b09)
OS: Linux 3.5.0-22-generic amd64
Application signing should happen by default. When
run-webapp
is invoked the signature is taken fromgriffon-app/conf/BuildConfig.groovy
. This signature is a self-signed one when running in development. For example, the following output is form running webstart mode in development without any configuration changesCouldn't fail to notice
net.sourceforge.jnlp.LaunchException
in the stack trace you posted. Are you using a different JNLP launcher other from the one provided by the JDK? Also, what's the output of runninggriffon -version
? Mine isAs you are using threading annotations you should import griffon.transform.Threading on your controller.