Wiki source code of Quick Start

Last modified by Paul Hoadley on 2025/01/30 02:09

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. Any version will do. People are running WebObjects on Java 21 in production.
11 1. You have Eclipse and WOLips installed. Install the [[latest version of Eclipse>>https://www.eclipse.org/downloads/packages/]], along with the [[latest WOLips>>https://github.com/wocommunity/wolips]] if you haven't already.
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.9/binaries/apache-maven-3.9.9-bin.zip
22 $ unzip apache-maven-3.9.9-bin.zip
23 $ ln -s apache-maven-3.9.9 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.9/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
104 You can enter any version of Java. You should definitely change ##WonderVersion## from 7.2 → 7.4. Hit 'Y' to confirm when requested.
105
106 (% class="box infomessage" %)
107 (((
108 If you enter a ##JavaVersion## greater than 1.8 (there are people using Java 21 in production, for example: enter ##21##), you need to add the following line to build.properties:
109 \\##jvmOptions=~-~-add-exports java.base/sun.security.action=ALL-UNNAMED ~-~-add-exports java.base/sun.util.calendar=ALL-UNNAMED##
110 )))
111
112
113 (% id="HBuildandlaunchtheapplication" class="auto-cursor-target" %)
114 = Build and launch the application =
115
116 (% class="auto-cursor-target" %)
117 From the same directory, run:
118
119 (% class="auto-cursor-target" %)
120 {{{$ cd Foo
121 $ mvn package}}}
122
123 (% class="auto-cursor-target" %)
124 Once Maven has finished building, you can launch:
125
126 (% class="auto-cursor-target" %)
127 {{{$ ./target/Foo.woa/Foo}}}
128
129 (% class="auto-cursor-target" %)
130 A browser should open and show:
131
132 >Hello WOnder world!
133
134 (% id="HImportyourprojectintoEclipse" class="auto-cursor-target" %)
135 = Import your project into Eclipse =
136
137 (% class="auto-cursor-target" %)
138 A final, optional step is to bring the project into Eclipse.
139
140 1. File > Import... > Maven > Existing Maven Projects
141 1. Using the file browser, find the top-level "Foo" folder containing the project you created above, click Open.
142 1. Ensure ##pom.xml## is checked and click Finish.
143
144 (% class="box infomessage" %)
145 (((
146 As above, if you're using Java beyond Java 8, you need to add the following to the launch configuration under Arguments > VM arguments:
147 \\##~-~-add-exports java.base/sun.security.action=ALL-UNNAMED ~-~-add-exports java.base/sun.util.calendar=ALL-UNNAMED##
148 )))
149
150
151
152
153 (% class="auto-cursor-target" %)
154 You're done.