Grails create-controller fails (inside Eclipse) - eclipse

first off: sorry if the question should not belong here.
I am fairly new to grails and wanted to set it up with eclipse (Spring Tool Suite + Grails/Groovy plugin).
But already the creation of a HelloWord controller fails with huge exeptions.
I did set JAVA_HOME and GRAILS_HOME in my environment variables in windows.
I keep it short I uploaded it to pastebin: http://pastebin.com/aesgcyP7
As you can see it fails with:
\HelloWorldController.groovy: 1: unexpected token: package # line 1,
column 1.
package 7daystobuild
Background Info: I also tried newer grails versions (2.2.4, since the plugin uses 2.2.3) and both jdk 1.7 and 1.6)
Thanks

I don't think your package name is valid. I've never officially looked it up for Groovy, but I believe Groovy follows Java naming conventions for packages, which states you can't have package names start with a digit.

Related

How to get Eclipse Compiler for Java batch package 4.5.2+

Version 4.5.1 is the last one available from central - http://mvnrepository.com/artifact/org.eclipse.jdt.core.compiler/ecj/4.5.1
Unfortunately there is a nasty bug, which was fixed only in 4.5.2.
I cannot seem to find a binary package anywhere. I tried building it from sources but failed (details below). What is the recommended way to obtain 4.5.2 binary?
I tried https://github.com/eclipse/eclipse.jdt.core but it doesn't have any relevant tags.
I tried building the tag R4_5_2 from https://git.eclipse.org/c/jdt/eclipse.jdt.core.git/tag/?h=R4_5_2
Suprisingly it still has a snapshot version 4.5.2-SNAPSHOT and requires a parent of the same version. I can try building the parent project, but I'd expect it to be already available in some repository etc. Before proceeding I'd like at least to know if this path is going to lead anywhere.
Finally I came across Project Tycho but I think this is only relevant if I'm creating a new plugin.
I've found one here by random googling: http://download.eclipse.org/eclipse/downloads/drops4/R-4.5.2-201602121500/#JDTCORE
However the timestamp is different than what I get in my Eclipse Mars. Here it's 20160212-1500 and in Eclipse I have 20160128-0629

Update jython.jar in PyDev

What is the proper way to apply a new jython.jar to PyDev?
I expect this option to be available since I have to supply a Jython interpreter at startup. Using mixed versions would likely cause issues. I expected the jython.jar for that interpreter to be used for everything, not just running standalone Jython, but that doesn't appear to be the case.
I believe org.python.pydev.jython provides a version of jython.jar. The version of this plugin in PyDev 2.7.1 has a pydev-jython.jar that is on the runtime classpath when I import this plugin. (The import also makes a copy of the directory of my configured Jython interpreter.)
How do I get PyDev to use a different jython.jar?
Here is some more background information.
I have followed the instructions on the PyDev website for installing PyDev in Eclipse. I have configured Jython 2.5.3 to be the interpreter.
I can open a Jython console and run the following:
>>> import org.python.core.PySystemState as pss
>>> st = pss()
>>> st.getBuiltins
<bound method <reflected field public org.python.core.PyObject org.python.core.PySystemState.__name__ at 0x1>.getBuiltins of <module 'sys' (built-in)>>
I also have no problem doing this from a python module that I run as a Jython Run.
However, when I try to access getBuiltins from java, I get a compile-time error stating that the method getBuiltins is not defined for PySystemState. As I have fought with this problem extensively, I believe what is going on is that org.python.pydev.jython is providing jython.jar whereas the interpreter configuration is only used to run the Jython interpreter.
Clearly, some jython.jar is in my classpath because I don't get a complaint when I import org.python.core.PySystemState. The symptoms are consistent with an older jython.jar that didn't have the full API of Jython 2.5.3.
Any help would be appreciated -- I'd prefer not to earn another tumbleweed bronze! :-)
It turns out that what I was trying to do required access to a new jython.jar. It had nothing to do with PyDev. I just created a plugin from jython.jar and referenced it.
I thought there were issues with PyDev because classpath and jythonpath worked automatically from the java app but not from a plugin product configuration. It turns out Eclipse was handling it for me in one case and not the other. PyDev simply wasn't invovled.

GWT compile hangs

I created a Google Web Toolkit project in Eclipse (Indigo, GWT 2.4, Linux Ubuntu), made some changes (mainly, renamed the default module and added a new module), then clicked "GWT Compile", and then nothing happened - the compilation just hanged forever. There is no output; the progress bar at the bottom right shows "0%".
When I use "loglevel=all", I get a single line of output "Checking for updates" and then it hangs.
I tried deleting the cache - no change.
I tried creating a new project and copying the source files - no change.
With the help of this link: http://comments.gmane.org/gmane.org.google.gwt/70561 I added "-XdisableUpdateCheck" to the compiler; now the compile completes, but, when I try to run in development mode ("Run as -> Web application") it says "Development mode is loading..." and hangs.
I don't know even how to start debugging this. Please give me some hint!
I faced the similar issue. Here is my sequence of events for it:
Checked out the GWT project from the SVN --> tried to Google-GWT Compile --> gave entry point modules --> my log level was info and output style Obfoscated -->Hit compile.. Nothing happens except the progress bar stuck at 0%.
Tried to google and find out the solution in multiple ways but couldn't get the proper answer.
One trick worked --> I deleted the project from the eclipse workspace and re-imported it from the disk as an existing project. GWT compile worked this time. :)
Why it worked? --> When we delete the project from eclipse workspace all the libraries associated with that project get unbound and removed from the classpath. When you again import the same project and try to compile GWT before adding the required libraries to the classpath it will works. The real conflict is with GWT libraries and JBoss 5.0 libraries. There looks like some plain bug in GWT2.4 which they need to resolve. In the classpath if you precede the jboss and Web App libraries prior to GWT library the compile gets stuck.
If you face the similar issue, remove jboss and web app libraries from the classpath and compile GWT module and then add those removed libraries sothat the JAva source from your project gets compiled. Good luck!
I was having the same problem after working through this tutorial: http://www.javacodegeeks.com/2010/12/securing-gwt-apps-with-spring-security.html
In the end it was a dodgy external JAR that I added to my build path (the spring-context one mentioned in the tutorial). I grabbed another copy of it and all is good now.
Here is the FIX for this one as we cannot continue with this whole business of taking the jBoss library in and out every time we need to compile GWT.
The problem is that com.google.gwt.dev.javac.JdtCompiler.getCompilerOptions
(JdtCompiler.java) is referring to CompilerOptions which, as fate would have it, is referencing to the implementation in jasper-jdt.jar (situated in jboss library) instead of gwt specific implementation. Get ride of this jasper-jdt.jar from jBoss library and you should be all set. Don't worry if you absolutely need any of the classes from jasper-jdt.jar; there are tons of alternative Jasper jars who can fulfill your need other than this one.
try this: right click->google->gwt compile->click advance (bottom) and
In the Additional compiler argument add this:
-XdisableUpdateCheck
Giving option -XdisableUpdateCheck to GWT Compiler solves the deadlock problem for me. Thanks for the hint.
Used GWT 2.5.0 with java :
$ java -version
java version "1.6.0_35"
Java(TM) SE Runtime Environment (build 1.6.0_35-b10)
Java HotSpot(TM) 64-Bit Server VM (build 20.10-b01, mixed mode)
$ cat /etc/issue
Fedora release 18 (Spherical Cow)
Kernel \r on an \m (\l)
$ uname -a
Linux myhostname 3.9.4-200.fc18.x86_64 #1 SMP Fri May 24 20:10:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
I could solve the problem by setting the optimization level (console Argument -optimize 8 to 8, which means optimize the code at most 8 times. Default is level 9 resulting in optimizing until nothing changes anymore. It seems there are a few cases where this results in an endless loop.
Also see this issue on GitHub:
https://github.com/gwtproject/gwt/issues/9452#issuecomment-259088434
Old question, but today a colleage of mine was just running into this issue, too. It turned out that he was using classes from client packages (both own classes and ...client.rpc.IsSerializable) within the shared package of his project.
As a result the GWT build froze at compiling permutation 0. I assume that it got trapped within an endless loop between compiling shared and client classes.
Removing all usages of client classes from shared classes helped.

Set up Scala for NetBeans - Error

I'm interested in the language Scala and would like to test it with NetBeans Can 6.8. I've downloaded Scala 2.8.0 final und unzipped it to my hard drive. Then I installed the Scala plugin for NetBeans and created a first project. Naturally compilation failed with this message:
You must set SCALA_HOME or environment
property and append
"-J-Dscala.home=scalahomepath"
property to the end of "netbeans_default_options" in
NetBeansInstallationPath/etc/netbeans.conf
to point to
Scala installation directory.
I read what the NetBeans Wiki and the Scala website say to the plugin.
I've added a new environment variable $SCALA_HOME that points to D:\Tools\scala-2.8.0.final
I've added $SCALA_HOME\bin to my path variable
I've edited the netbeans.conf file by adding "-J-Dscala.home=D:\Tools\scala-2.8.0.final" to the end of netbeans_default_options
With your great help this error was fixed. However there are two new problems:
Code Completion doesn't work
2.
After creating a Scala Object this
package scalaapplication1
object te {
}
is not accepted. NetBeans complains
that
type ScalaObject is not a member of
package Scala
Strange: the Netbeans Wiki on Scala doesn't mention "scala.home", only the environment variable SCALA_HOME.
So does the tutorial on Scala plugin installation:
After that, you need to make sure Netbeans is launched from a new dos session (one that has registered the new environment variable definition), and is "path-aware" (like this issue 175394, even though it only concerns Unix platform).
DarrenWang mentions in his article the NBModules plugins to more easily manage those options like "-J-Dscala.home = scalahomepath" in the netbeans.conf file.
But it experienced some crashed with the Scala plugin and the latest Netbeans.
Can you read Chinese? hehe, I wrote down something here:
http://www.zeuux.com/group/scalaba/bbs/content/4240/

How to use Scala in IntelliJ IDEA (or: why is it so difficult to get a working IDE for Scala)?

I recently gave up trying to use Scala in Eclipse (basic stuff like completion doesn't work). So now I'm trying IntelliJ. I'm not getting very far.
I've been able to edit programs (within syntax highlighting and completion... yay!). But I'm unable to run even the simplest "Hello World". This was the original error:
Scala signature Predef has wrong version
Expected 5.0
found: 4.1 in .... scala-library.jar
But that was yesterday with IDEA 9.0.1. See below...
UPDATE
Today I uninstalled IntelliJ 9.0.1, and installed 9.0.2 Early Availability, with the 4/14 stable version of the Scala plug-in.
Then I setup a project from scratch through the wizards:
new project from scratch
JDK is 1.6.u20
accept the default (project) instead of global / module
accept the download of Scala 2.8.0beta1 into project's lib folder
Created a new class:
object hello {
def main(args: Array[String]) {
println("hello: " + args);
}
}
For my efforts, I now have a brand-new error :)
Here it is:
Scalac internal error: class java.lang.ClassNotFoundException [java.net.URLClassLoader$1.run(URLClassLoader.java:202), java.security.AccessController.doPrivileged(Native Method), java.net.URLClassLoader.findClass(URLClassLoader.java:190), java.lang.ClassLoader.loadClass(ClassLoader.java:307), sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301), java.lang.ClassLoader.loadClass(ClassLoader.java:248), java.lang.Class.forName0(Native Method), java.lang.Class.forName(Class.java:169), org.jetbrains.plugins.scala.compiler.rt.ScalacRunner.main(ScalacRunner.java:72)]
FINAL UPDATE
I uninstalled 9.0.2 EA and reinstalled 9.0.1, but this time went with the 2.7.3 version of Scala rather than the default 2.7.6, because 2.7.3 is the one shown in the screen-shots at the IntelliJ website (I guess the screen-shots prove that they actually tested this version!). Now everything works!!!
I have encountered the same scalac error when trying to run a Scala project in Intellij Idea 9.0.2 and I've managed to find a solution by chance :). These are the steps I took in creating the project and running it.
I have created a Scala project in Intellij Idea 9.0.2 final (it was released today). I have installed the Scala plugin, restarted the IDE and created a new Scala project (with the name "TestScala") with scala-2.8.0.Beta1 as project library. Once the project is created and the scala libraries downloaded, I have created a Test.scala file with the following content:
object Test {
def main(args:Array[String]){
println("hello")
}
}
After that, I created a launch configuration ("Edit Configurations"), choosing the "Application" template. I set as main class Test and choose the project name ("TestScala") in the "Use classpath and JDK of module" combo box. When I run the configuration I get the same error as you reported ("Scalac internal error: class java.lang.ClassNotFoundException") .
Now comes the freaky part :). I right click on the project, choose "Module Settings", have a look on all settings but I don't change anything . Click "apply" and "ok", try to run configuration again and it works :) .
I use Intellij Idea 9.0.2 the final release (build 95-66); Ubuntu 9.10 and JDK 1.6.0_18. I also have to mention that I had a JDK configured in Intellij, otherwise there is an extra step to configure it.
UPDATE:
When checking the setting of the module, one needs to click on the Module->Scala and Facets->Scala (expand it and click on Scala(ProjectName)) . Both of these settings are about the scala compiler and scala library location. I would guess these values are not properly set when the project is created but are saved once the user touches them and saves the settings.
To answer your question, it's difficult to get a working IDE for Scala for two reasons:
(a) Scala is only just beginning to reach a wide audience and
(b) due to (a), there is no business case for spending time on a Scala IDE.
Also, if you are old enough to cast your mind back and young enough to still remember, you would know that for the first five or more years of Java, we were stuck with okay-ish tools like JBuilder that did little more than compile your code when you said so - no error highlighting, no auto-importing, and the word refactoring didn't even exist. If you want to pioneer, you need to be prepared to cut some of the road yourself, or at least bush-bash.
I know it won't help you, but I have successfully used IDEA for Scala on Linux, Mac and Windows. I typically have the Scala SDK installed somewhere locally and point IDEA at that rather than using the 'download' option.
Presently, I am mostly using an EAP version of IDEA 9 on Mac OS X with Scala 2.8.0.Beta1-RC5 and it's working well (except that fsc doesn't seem to worked with mixed sources).
You could try your luck over at the IDEA Scala Plugin Discussion Forum, though I haven't had a great lot of responses to my own postings there.
Installing the plug-in is prerequisite one.
The next thing you should do is define a library (global or project-specific; I use global) that holds the Scala library and compiler JAR files (at a minimum, that's scala-compiler.jar and scala-library.jar). Adding source JARs and a documentation JAR or URLs is a good idea, too. Then make this library a dependency of any modules in your project that include Scala code.
Lastly, find the Scala facets in those modules and de-select both check-boxes there.
I just did a fresh install and had exactly this same problem myself.
It turned out that, because I had created the file in the root package, IDEA had added a package statement at the top with naming a package. I assume that this then got compiled as "package object Main" - valid syntax in 2.8? Anyway, I deleted the line that said package and it all worked fine.
I had the same problem yesterday while trying to set it up. Solution is pretty simple, you just have to set scala somewhere in project settings.
You are mixing code compiled with two different Scala versions.
I use Netbeans to write scala programs. So far it works very well with my codes. You can try the plugin here: http://wiki.netbeans.org/Scala68v1.
I was getting this error and also had to right click on the project and "Open Module Settings". However, it was more than just hitting apply. I had to make sure that my Content Root was correct for each project. For some reason, there were some incorrect Source and Test Folders.
My project uses maven as the main build tool and importing the project into Intellij is probably what created these incorrect settings.
I had similar problem, following this blog post instructions solved the problem for me