summaryrefslogtreecommitdiffstats
path: root/documentation/getting-started/getting-started-idea.asciidoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/getting-started/getting-started-idea.asciidoc')
-rw-r--r--documentation/getting-started/getting-started-idea.asciidoc260
1 files changed, 260 insertions, 0 deletions
diff --git a/documentation/getting-started/getting-started-idea.asciidoc b/documentation/getting-started/getting-started-idea.asciidoc
new file mode 100644
index 0000000000..4461d80656
--- /dev/null
+++ b/documentation/getting-started/getting-started-idea.asciidoc
@@ -0,0 +1,260 @@
+---
+title: Creating a Project with IntelliJ IDEA
+order: 8
+layout: page
+---
+
+[[getting-started.idea]]
+= Creating a Project with IntelliJ IDEA
+
+The Ultimate Edition of IntelliJ IDEA includes support for creating Vaadin
+applications and running or debugging them in an integrated application server.
+With the Community Edition, you can create a Vaadin application most easily with
+a Maven archetype and deploy it to a server with a Maven run/debug
+configuration.
+
+ifdef::web[]
+For more information, see the article "
+link:http://wiki.jetbrains.net/intellij/Creating_a_simple_Web_application_and_deploying_it_to_Tomcat[Creating
+a simple Web application and deploying it to Tomcat]" in the IntelliJ IDEA
+Encyclopedia wiki.
+endif::web[]
+
+[[getting-started.idea.server]]
+== Configuring an Application Server
+
+To run the application during development in the Ultimate Edition of IntelliJ
+IDEA, you first need to install and configure an application server that is
+integrated with the IDE. The edition includes integration with many commonly
+used application servers.
+
+In the following, we configure Apache Tomcat:
+
+. Download and extract Tomcat installation package to a local directory, as
+instructed in
+<<dummy/../../../framework/getting-started/getting-started-environment#getting-started.environment.tomcat,"Installing
+Apache Tomcat">>.
+
+. Select "Configure > Settings".
+
+. Select "IDE Settings > Application Servers".
+
+. Select "+ > Tomcat Server" to add a Tomcat server, or any of the other supported
+servers. A WebSocket-enabled server, such as Glassfish or TomEE, is required for
+server push.
+
+. In the Tomcat Server dialog, specify the home directory for the server.
+
++
+image::img/idea-server-1.png[]
+
++
+Click [guibutton]#OK#.
+
+. Review the application server settings page to check that it is OK.
+
++
+image::img/idea-server-2.png[]
+
++
+Then, click [guibutton]#OK#.
+
+
+
+[[getting-started.idea.project]]
+== Creating a Vaadin Web Application Project
+
+In the welcome page, do the following:
+
+. Download and exctract the Vaadin installation package to a local folder, as
+instructed in
+<<dummy/../../../framework/getting-started/getting-started-package#getting-started.package,"Vaadin
+Installation Package">>.
+
+. Select [menuchoice]#New Project#
+
+. In the [guilabel]#New Project# window, select [menuchoice]#Java#
+
+. Enter a [guilabel]#Project name# and [guilabel]#Project location#, and select
+the [guilabel]#Java SDK# to be used for the project. Vaadin requires at least
+Java 6. If you have not configured a Java SDK previously, you can configure it
+here.
+
++
+image::img/idea-newproject-1.png[]
+
++
+Click [guibutton]#Next#.
+
+. Select "Web Application > Vaadin" to add Vaadin technology to the project.
+
+. Select Vaadin [guilabel]#Version# and [guilabel]#Distribution# installation
+path. You probably also want an application stub, so select [guilabel]#Create
+sample application# and give a name for the generated UI class.
+
++
+image::img/idea-newproject-2.png[]
+
++
+Do __not__ click [guibutton]#Finish# yet.
+
+. Select [guilabel]#Application Server# in the same window. Set it as an
+integrated server that you have configured in IntelliJ IDEA, as described
+previously in <<getting-started.idea.server>>.
+
+ifdef::web[]
++
+image::img/idea-newproject-3.png[]
+endif::web[]
+
+. Click [guibutton]#Finish#.
+
+
+The project is created with the UI class stub and a [filename]#web.xml#
+deployment descriptor.
+
+image::img/idea-newproject-4.png[]
+
+The wizard does not currently create a servlet class automatically, and uses
+Servlet 2.4 compatible deployment with a [filename]#web.xml# deployment
+descriptor.
+
+[[getting-started.idea.project.running]]
+=== Deploying the Project
+
+To deploy the application to the integrated web server, right-click the
+[filename]#index.jsp# file in the project and select [menuchoice]#Run
+'index.jsp'#. This starts the integrated server, if it was not already running,
+and launches the default browser with the application page.
+
+
+
+[[getting-started.idea.maven]]
+== Creating a Maven Project
+
+You can choose to create a Maven project in IntelliJ IDEA. This is the
+recommended way when using the Community Edition. You will not have the
+application server integration, but can deploy the application to an application
+server using a run/debug configuration.
+
+. Select [menuchoice]#New Project#
+
+. In the [guilabel]#New Project# window, select [menuchoice]#Maven#
+
+//&lt;?dbfo-need height="8cm" ?&gt;
+. Enter a project name, location, and the Java SDK to be used for the project.
+Vaadin requires at least Java 6. Click [guibutton]#Next#.
+
++
+image::img/idea-maven-newproject-1.png[]
+
+//&lt;?dbfo-need height="6cm" ?&gt;
+. Give a Maven [guilabel]#GroupID#, [guilabel]#ArtifactID#, and a
+[guilabel]#Version# for the project, or use the defaults.
+
++
+image::img/idea-maven-newproject-2.png[]
+
+. Check [guilabel]#Create from archetype#
+
+//&lt;?dbfo-need height="6cm" ?&gt;
+. If the Vaadin archetype is not in the list, click [guibutton]#Add archetype#,
+enter [guilabel]#GroupId# [literal]#++com.vaadin++#, [guilabel]#ArtifactId#
+[literal]#++vaadin-archetype-application++#, and [guilabel]#Version#
+[literal]#++LATEST++# (or a specific version number).
+
+ifdef::web[]
++
+image::img/idea-maven-newproject-3.png[]
+endif::web[]
+
++
+Click [guibutton]#OK# in the dialog.
+
+//&lt;?dbfo-need height="8cm" ?&gt;
+. Select the [literal]#++com.vaadin:vaadin-archetype-application++#.
+
+ifdef::web[]
++
+image::img/idea-maven-newproject-4.png[]
+endif::web[]
+
++
+Click [guibutton]#Next#.
+
+//&lt;?dbfo-need height="8cm" ?&gt;
+. Review the general Maven settings and settings for the new project. You may need
+to override the settings, especially if you are creating a Maven project for the
+first time. Click [guibutton]#Finish#.
+
+ifdef::web[]
++
+image::img/idea-maven-newproject-5.png[]
+endif::web[]
+
+
+Creating the Maven project takes some time as Maven fetches the dependencies.
+Once done, the project is created and the Maven POM is opened in the editor.
+
+[[getting-started.idea.maven.compiling]]
+=== Compiling the Project
+
+To compile a Vaadin application using Maven, you can define a run/debug
+configuration to execute a goal such as [literal]#++package++# to build the
+deployable WAR package. It will also compile the widget set and theme, if
+necessary. See
+<<dummy/../../../framework/getting-started/getting-started-maven#getting-started.maven.compiling,"Compiling
+and Running the Application">> for more details.
+
+Compilation is included in the following instructions for deploying the
+application.
+
+
+[[getting-started.idea.maven.deploying]]
+=== Deploying to a Server
+
+There exists Maven plugins for deploying to various application servers. For
+example, to deploy to Apache Tomcat, you can to configure the
+[literal]#++tomcat-maven-plugin++# and then execute the
+[literal]#++tomcat:deploy++# goal. See the documentation of the plugin that you
+use for more details. If no Maven plugin exists for a particular server, you can
+always use some lower-level method to deploy the application, such as running an
+Ant task.
+
+In the following, we create a run/debug configuration to build, deploy, and
+launch a Vaadin Maven application on the light-weight Jetty web server.
+
+. Select "Run > Edit Configurations".
+
+. Select "+ > Maven" to create a new Maven run/debug configuration.
+
+. Enter a [guilabel]#Name# for the run configuration. For the [guilabel]#Command
+line#, enter " [literal]#++package jetty:run++# to first compile and package the
+project, and then launch Jetty to run it.
+
+ifdef::web[]
++
+image::img/idea-maven-run-1.png[]
+endif::web[]
+
++
+Click [guibutton]#OK#.
+
+. Select the run configuration in the toolbar and click the [guibutton]#Run#
+button beside it.
+
+ifdef::web[]
++
+image::img/idea-maven-run-2.png[]
+endif::web[]
+
+
+Compiling the project takes some time on the first time, as it compiles the
+widget set and theme. Once the run console pane informs that Jetty Server has
+been started, you can open the browser at the default URL
+http://localhost:8080/.
+
+
+
+
+