Wiki source code of Quick Start
Version 77.4 by Paul Hoadley on 2023/12/25 10:18
Show last authors
author | version | line-number | content |
---|---|---|---|
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. |