|
|
@@ -0,0 +1,108 @@ |
|
|
|
[[vaadin-on-grails-create-project-in-intellij-idea]] |
|
|
|
Vaadin on grails - Create project in IntelliJ IDEA |
|
|
|
-------------------------------------------------- |
|
|
|
|
|
|
|
_Versions used in this tutorial: Grails 2.3.x, Vaadin 7.1.x. News and |
|
|
|
updates about Vaadin on Grails are available on |
|
|
|
https://twitter.com/VaadinOnGrails[VaadinOnGrails]_ |
|
|
|
|
|
|
|
In this tutorial we will show how to create and setup |
|
|
|
http://grails.org/doc/latest/guide/single.html[Grails] project together |
|
|
|
with https://vaadin.com/learn[Vaadin], in IntelliJ IDEA. These two |
|
|
|
frameworks Grails and Vaadin are integrated together with this |
|
|
|
http://grails.org/plugin/vaadin[plugin]. |
|
|
|
|
|
|
|
First we need to setup Grails with IDE, |
|
|
|
http://www.jetbrains.com/idea/[IntelliJ IDEA 13] in this tutorial. Or we |
|
|
|
could get https://spring.io/tools/ggts[Groovy/Grails Tool Suite] |
|
|
|
which is without any fees. |
|
|
|
|
|
|
|
[[setup-ide]] |
|
|
|
Setup IDE |
|
|
|
+++++++++ |
|
|
|
|
|
|
|
1. Go to http://grails.org/download and get the latest version of |
|
|
|
Grails |
|
|
|
2. Unpack it on your local computer and start up IntelliJ IDEA |
|
|
|
3. Open the *New Project* window and select Grails from the list. Click |
|
|
|
on *Create...* button and then select the root of your unpacked Grails |
|
|
|
archive. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/setup-idea.png[Setup IDEA] |
|
|
|
|
|
|
|
[[create-new-project]] |
|
|
|
Create New Project |
|
|
|
++++++++++++++++++ |
|
|
|
|
|
|
|
Fill in the name of the project and choose the latest version of Grails. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/new-project.png[Create new project] |
|
|
|
|
|
|
|
Click on *Finish* and on the next dialog, choose **Run 'create |
|
|
|
app'** |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/create-app-idea.png[Create app IDEA] |
|
|
|
|
|
|
|
Open file `BuildConfig.groovy` and add new plugin as follows: |
|
|
|
`compile ":vaadin:7.1.11"`. The latest version of the plugin is always |
|
|
|
available on http://grails.org/plugin/vaadin |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/build-config-idea.png[Build config IDEA] |
|
|
|
|
|
|
|
We have to disable Grails to take control over the URLs, so Vaadin can |
|
|
|
do it. Open `UrlMappings.groovy` file and remove the mapping, so the |
|
|
|
content of the file is the following: |
|
|
|
|
|
|
|
.... |
|
|
|
class UrlMappings { |
|
|
|
static mappings = {} |
|
|
|
} |
|
|
|
.... |
|
|
|
|
|
|
|
If you see this error, run grails again and compile it again. There an |
|
|
|
issue with grails and it is not possible to compile the project in the |
|
|
|
first run. |
|
|
|
|
|
|
|
.... |
|
|
|
target/work/plugins/vaadin-7.1.11/scripts/_Events.groovy: 1: unable to resolve class com.vaadin.grails.VaadinConfiguration @ line 1, column 1. import com.vaadin.grails.VaadinConfiguration |
|
|
|
.... |
|
|
|
|
|
|
|
Now we want Vaadin plugin to generate the mandatory files in order to be |
|
|
|
able to run Vaadin application. On the right side in the menu, there is |
|
|
|
a launch button, click on that one. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/run-app-idea.png[Run app IDEA] |
|
|
|
|
|
|
|
You can also press `Alt+Cmd+G` on Mac OS or `Ctrl+Alt+G` on Windows and |
|
|
|
type `run-app` command there. |
|
|
|
|
|
|
|
Mark `grails-app/vaadin` folder as a source folder in IDE. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/source-folder-idea.png[Source folder IDEA] |
|
|
|
|
|
|
|
Run the application again and a Vaadin application with a single *Home* |
|
|
|
label will be available on http://localhost:8080/ria-app in your |
|
|
|
browser. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/first-run.png[First run] |
|
|
|
|
|
|
|
[[developing]] |
|
|
|
Developing |
|
|
|
++++++++++ |
|
|
|
|
|
|
|
All the Vaadin code should be placed in `grails-app/vaadin` folder. All |
|
|
|
the other classes that are not UI related can be put to `src/groovy` or |
|
|
|
`src/java`. |
|
|
|
|
|
|
|
Open the generated `MyUI.groovy` file, edit the content a bit and save |
|
|
|
the file. See that the class has been recompiled and when you refresh |
|
|
|
the page, it gets automatically updated. You don't have to restart the |
|
|
|
application or use JRebel for small changes. But if we change the |
|
|
|
application context, add a new bean, change method signature and other |
|
|
|
'big' changes, we have to restart the application. |
|
|
|
|
|
|
|
image:http://vaadinongrails.com/img/recompile-idea.png[Recompile IDEA] |
|
|
|
|
|
|
|
Now you can continue with |
|
|
|
link:VaadinOnGrailsDatabaseAccess.asciidoc[Vaadin |
|
|
|
on Grails - Database access] |