Wiki source code of Quick Start

Version 77.4 by Paul Hoadley on 2023/12/25 10:18

Show last authors
1 (% class="auto-cursor-target" %)
2 You should be able to get a "Hello, World!" Wonder application running using [[Maven>>https://maven.apache.org]] in about 10 minutes.
3
4 (% id="HAssumptions" class="auto-cursor-target" %)
5 = Assumptions =
6
7 We're going to make a few assumptions to keep this page brief:
8
9 1. You are running macOS X. You can probably get a WebObjects development environment up on a different OS, but we won't cover that here.
10 1. You have Java installed. //We are actually going to assume you're using Java 8//, but only because it's just marginally easier to launch the application under Java 8. People are running WebObjects on Java 21 in production.
11 1. You have Eclipse and WOLips installed. Eclipse versions as recent as 2023-09 have been shown to be just fine, albeit with a slightly modified WOLips. Again we won't cover any of that here.
12
13 (% id="HSetup" class="auto-cursor-target" %)
14 = Setup =
15
16 (% class="auto-cursor-target" %)
17 You need to install Maven:
18
19 (% class="auto-cursor-target" %)
20 {{{$ cd ~/Applications
21 $ curl -O https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip
22 $ unzip apache-maven-3.9.6-bin.zip
23 $ ln -s apache-maven-3.9.6 apache-maven
24 }}}
25
26 Add ##bin## to your path in your shell's startup file, say ##~~/.zshrc##:
27
28 {{{PATH=$PATH:/Users/paulh/Applications/apache-maven-3.9.6/bin
29 }}}
30
31 (% class="auto-cursor-target" %)
32 Confirm you have it installed:
33
34 (% class="auto-cursor-target" %)
35 {{{$ mvn --version
36 Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae)
37 }}}
38
39 (% class="auto-cursor-target" %)
40 Finally, add ##~~/.m2/settings.xml##:
41
42 (% class="auto-cursor-target" %)
43 {{{<settings xmlns="http://maven.apache.org/POM/4.0.0"
44 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
45 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
46 http://maven.apache.org/xsd/settings-1.0.0.xsd">
47 <profiles>
48 <profile>
49 <id>wocommunity</id>
50 <activation>
51 <activeByDefault>true</activeByDefault>
52 </activation>
53 <repositories>
54 <repository>
55 <id>wocommunity</id>
56 <url>https://maven.wocommunity.org/content/groups/public/</url>
57 <releases>
58 <enabled>true</enabled>
59 </releases>
60 <snapshots>
61 <enabled>true</enabled>
62 </snapshots>
63 </repository>
64 </repositories>
65 <pluginRepositories>
66 <pluginRepository>
67 <id>wocommunity</id>
68 <url>https://maven.wocommunity.org/content/groups/public/</url>
69 <releases>
70 <enabled>true</enabled>
71 </releases>
72 <snapshots>
73 <enabled>false</enabled>
74 </snapshots>
75 </pluginRepository>
76 </pluginRepositories>
77 </profile>
78 </profiles>
79 </settings>
80 }}}
81
82 (% id="HCreateanewapplicationproject" class="auto-cursor-target" %)
83 = Create a new application project =
84
85 (% class="auto-cursor-target" %)
86 Make a new directory somewhere, and run:
87
88 {{{$ mvn archetype:generate -DarchetypeArtifactId=erxapplication-archetype \
89 -DarchetypeGroupId=org.wocommunity \
90 -DarchetypeVersion=3.0 -DaskForDefaultPropertyValues=true}}}
91
92 (% class="auto-cursor-target" %)
93 After some downloading, Maven will prompt you:
94
95 (% class="auto-cursor-target" %)
96 {{{Define value for property 'JavaVersion' 1.8: : 1.8
97 Define value for property 'WonderVersion' 7.2: : 7.4
98 Define value for property 'groupId': example.app
99 Define value for property 'artifactId': Foo
100 Define value for property 'version' 1.0-SNAPSHOT: : 0.1-SNAPSHOT
101 Define value for property 'package' example.app: : example.app.foo}}}
102
103 (% class="auto-cursor-target" %)
104 You can enter your own values if you like, but remember to stick with Java 1.8 for the moment. Hit 'Y' to confirm when requested.
105
106 (% id="HBuildandlaunchtheapplication" class="auto-cursor-target" %)
107 = Build and launch the application =
108
109 (% class="auto-cursor-target" %)
110 From the same directory, run:
111
112 (% class="auto-cursor-target" %)
113 {{{$ cd Foo
114 $ mvn package}}}
115
116 (% class="auto-cursor-target" %)
117 Once Maven has finished building, you can launch:
118
119 (% class="auto-cursor-target" %)
120 {{{$ ./target/Foo.woa/Foo}}}
121
122 (% class="auto-cursor-target" %)
123 A browser should open and show:
124
125 >Hello WOnder world!
126
127 (% id="HImportyourprojectintoEclipse" class="auto-cursor-target" %)
128 = Import your project into Eclipse =
129
130 (% class="auto-cursor-target" %)
131 A final, optional step is to bring the project into Eclipse.
132
133 1. File > Import... > Maven > Existing Maven Projects
134 1. Using the file browser, find the top-level "Foo" folder containing the project you created above, click Open.
135 1. Ensure ##pom.xml## is checked and click Finish.
136
137 (% class="auto-cursor-target" %)
138 You're done.