Wiki source code of Quick Start

Version 25.1 by Lachlan Deck on 2008/11/23 16:15

Show last authors
1 == Step 1: Installing Maven ==
2
3 Downloading and installing the latest version of [[Maven>>http://maven.apache.org/download]] is the first step to start using this tool.
4
5 {{tip title="Mac Tip"}}
6
7 install macports [http://www.macports.org/install.php], then on the terminal
8 {noformat}sudo port install maven2{noformat}
9
10 In future, to keep this up to date:
11 {noformat}sudo port upgrade maven2{noformat}
12
13 {{/tip}}
14
15 **NOTE**: It is very helpful if you understand some Maven concepts before continue with this tutorial. See [[General Maven Documentation]] for more information.
16
17 == Step 2: Configuring your Maven Settings ==
18
19 Before start using Maven, you have to configure it in order to use the plug-ins provided by WOProject. General Maven configuration is made in a settings.xml file. This file can be found at .m2 folder in the user home (,,/.m2 on Unix systems and C:ocuments and Settingsserm2 on Windows). If this file doesn't exist yet, just create it.,,
20
21 You have to define the WOProject plug-in group and the repositories to download the plug-ins. The following snippet shows how to make this configuration:
22
23 {{noformat}}
24
25 <settings xmlns="http://maven.apache.org/POM/4.0.0"
26 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
27 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
28 http://maven.apache.org/xsd/settings-1.0.0.xsd">
29 <pluginGroups>
30 <pluginGroup>org.objectstyle.woproject.maven2</pluginGroup>
31 </pluginGroups>
32 <profiles>
33 <profile>
34 <id>woproject</id>
35 <activation>
36 <activeByDefault>true</activeByDefault>
37 </activation>
38 <pluginRepositories>
39 <pluginRepository>
40 <id>mdimension.releases</id>
41 <name>MDimension Releases Repository</name>
42 <url>
43 http://webobjects.mdimension.com/maven2/releases
44 </url>
45 <releases>
46 <enabled>true</enabled>
47 </releases>
48 <snapshots>
49 <enabled>false</enabled>
50 </snapshots>
51 </pluginRepository>
52 <pluginRepository>
53 <id>mdimension.snapshots</id>
54 <name>MDimension Snapshots Repository</name>
55 <url>
56 http://webobjects.mdimension.com/maven2/snapshots
57 </url>
58 <releases>
59 <enabled>false</enabled>
60 </releases>
61 <snapshots>
62 <enabled>true</enabled>
63 </snapshots>
64 </pluginRepository>
65 </pluginRepositories>
66 </profile>
67 </profiles>
68 </settings>
69
70 {{/noformat}}
71
72 **NOTE**: You can download the complete settings.xml [[here>>^settings.xml]]. See [[Maven Settings Reference>>http://maven.apache.org/settings.html]] if you want more information about the settings.xml file.
73
74 == Step 3: Installing WebObjects Libraries ==
75
76 Maven takes control of all your project's dependencies. To develop WebObjects applications, Maven has to reference the WebObjects jars. You have to install the WebObjects libraries into your local repository to accomplish this:
77
78 {{noformat}}
79
80 mvn wobootstrap:install
81
82 {{/noformat}}
83
84 **NOTE**: WebObjects must be installed. See the [[maven-wobootstrap-plugin]] documentation for more information. See [[Maven Introduction to Repositories>>http://maven.apache.org/guides/introduction/introduction-to-repositories.html]] if you want more information about Maven repositories.
85
86 {{warning title="Installing the right jars!"}}
87
88 Do *not* link to or install the WebObjects jars located inside {{/System/Library/Frameworks}} or {{/Library/Frameworks}}. If you're installing an older version of WebObjects you must obtain the jars that the WebObjects installer had previously installed into {{/Library/WebObjects/lib}}. For example, the jar {{/Library/WebObjects/lib/JavaWebObjects.jar}} has the complete set of resources and files included for the dependency JavaWebObjects whereas {{/System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar}} does not.
89
90 {{/warning}}
91
92 == Step 4: Creating a WebObjects Project ==
93
94 Archetypes are the fast way to create a new project using Maven. WOProject provides one archetype to create WebObjects Application. Execute the following command to generate a basic WebObjects project:
95
96 {{noformat}}
97
98 mvn archetype:generate -DarchetypeArtifactId=woapplication-archetype \
99 -DarchetypeGroupId=org.objectstyle.woproject.maven2 \
100 -DarchetypeVersion=2.0.16 \
101 -DarchetypeRepository=http://webobjects.mdimension.com/maven2/releases
102
103 {{/noformat}}
104
105 The maven-archetype-plugin will ask the required information to create the new project.
106
107 **NOTE**: You can use archetype catalogs to reduce the number of properties to set while creating a project. See the documentation of [[woapplication-archetype]].
108
109 **NOTE**: You can use archetypes within Eclipse as described [[here>>Maven Create WO Application Project||anchor="m2eclipse"]].
110
111 == Step 5: Importing the Project into Eclipse ==
112
113 The new project is ready to be imported into Eclipse workspace. Use the Eclipse's import wizard (File > Import...) and choose the option "Existing Projects into Workspace". Select the root directory of your new project and finish the import wizard.
114
115 {{note title="Warning"}}
116
117 As Maven takes care of the dependency management, you must use a mechanism to add the jars to your Eclipse build path. There are 3 options:
118 # Use the [mvn eclipse:eclipse|http://maven.apache.org/plugins/maven-eclipse-plugin/] goal to update your .classpath file.
119 # Use the [m2eclipse|http://m2eclipse.codehaus.org/] plug-in for Eclipse.
120 # Use the [q4e|http://code.google.com/p/q4e/] plug-in for Eclipse.
121
122 {{/note}}
123
124 After adding the project dependencies to your Eclipse build path, WOLips can build the project and you will be able to start developing and running the application.
125
126 **NOTE**: This tutorial assumes you have chosen the option 2. You can find more information about IDE integration [[here>>General Maven Documentation||anchor="IDE Integration"]].
127
128 == Step 6: Building WebObjects Applications with Maven ==
129
130 Now, building your project with Maven is easy. Go to the project folder on Terminal and execute:
131
132 {{noformat}}
133
134 mvn clean install
135
136 {{/noformat}}
137
138 This goal will generate a WOA package inside the target folder of your project. It also generates two compressed packages: one for woapplication and other for the webserver resources.