Wiki source code of Quick Start
Last modified by Paul Hoadley on 2025/01/30 02:09
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
69.1 | 1 | (% class="auto-cursor-target" %) |
![]() |
77.4 | 2 | You should be able to get a "Hello, World!" Wonder application running using [[Maven>>https://maven.apache.org]] in about 10 minutes. |
![]() |
69.1 | 3 | |
![]() |
77.2 | 4 | (% id="HAssumptions" class="auto-cursor-target" %) |
![]() |
77.1 | 5 | = Assumptions = |
![]() |
59.1 | 6 | |
![]() |
77.1 | 7 | We're going to make a few assumptions to keep this page brief: |
![]() |
19.1 | 8 | |
![]() |
77.1 | 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. |
![]() |
79.1 | 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. | ||
![]() |
19.1 | 12 | |
![]() |
77.2 | 13 | (% id="HSetup" class="auto-cursor-target" %) |
![]() |
77.1 | 14 | = Setup = |
![]() |
67.1 | 15 | |
![]() |
77.1 | 16 | (% class="auto-cursor-target" %) |
![]() |
77.3 | 17 | You need to install Maven: |
![]() |
67.1 | 18 | |
![]() |
77.1 | 19 | (% class="auto-cursor-target" %) |
20 | {{{$ cd ~/Applications | ||
![]() |
79.1 | 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 | ||
![]() |
77.1 | 24 | }}} |
![]() |
67.1 | 25 | |
![]() |
77.3 | 26 | Add ##bin## to your path in your shell's startup file, say ##~~/.zshrc##: |
![]() |
67.1 | 27 | |
![]() |
79.1 | 28 | {{{PATH=$PATH:/Users/paulh/Applications/apache-maven-3.9.9/bin |
![]() |
77.1 | 29 | }}} |
![]() |
67.1 | 30 | |
![]() |
77.1 | 31 | (% class="auto-cursor-target" %) |
32 | Confirm you have it installed: | ||
![]() |
67.1 | 33 | |
![]() |
77.1 | 34 | (% class="auto-cursor-target" %) |
35 | {{{$ mvn --version | ||
36 | Apache Maven 3.9.6 (bc0240f3c744dd6b6ec2920b3cd08dcc295161ae) | ||
37 | }}} | ||
![]() |
67.1 | 38 | |
![]() |
77.1 | 39 | (% class="auto-cursor-target" %) |
![]() |
77.3 | 40 | Finally, add ##~~/.m2/settings.xml##: |
![]() |
19.1 | 41 | |
![]() |
77.1 | 42 | (% class="auto-cursor-target" %) |
43 | {{{<settings xmlns="http://maven.apache.org/POM/4.0.0" | ||
![]() |
77.4 | 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"> | ||
![]() |
77.1 | 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 | }}} | ||
![]() |
19.1 | 81 | |
![]() |
77.2 | 82 | (% id="HCreateanewapplicationproject" class="auto-cursor-target" %) |
![]() |
77.1 | 83 | = Create a new application project = |
![]() |
67.1 | 84 | |
![]() |
77.1 | 85 | (% class="auto-cursor-target" %) |
86 | Make a new directory somewhere, and run: | ||
![]() |
60.1 | 87 | |
![]() |
77.1 | 88 | {{{$ mvn archetype:generate -DarchetypeArtifactId=erxapplication-archetype \ |
89 | -DarchetypeGroupId=org.wocommunity \ | ||
90 | -DarchetypeVersion=3.0 -DaskForDefaultPropertyValues=true}}} | ||
![]() |
60.1 | 91 | |
![]() |
77.1 | 92 | (% class="auto-cursor-target" %) |
93 | After some downloading, Maven will prompt you: | ||
![]() |
19.1 | 94 | |
![]() |
77.1 | 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}}} | ||
![]() |
60.1 | 102 | |
![]() |
67.1 | 103 | |
![]() |
79.1 | 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 | |||
![]() |
77.2 | 113 | (% id="HBuildandlaunchtheapplication" class="auto-cursor-target" %) |
![]() |
77.1 | 114 | = Build and launch the application = |
![]() |
67.1 | 115 | |
![]() |
77.1 | 116 | (% class="auto-cursor-target" %) |
117 | From the same directory, run: | ||
![]() |
60.1 | 118 | |
![]() |
77.1 | 119 | (% class="auto-cursor-target" %) |
120 | {{{$ cd Foo | ||
121 | $ mvn package}}} | ||
![]() |
19.1 | 122 | |
![]() |
77.1 | 123 | (% class="auto-cursor-target" %) |
124 | Once Maven has finished building, you can launch: | ||
![]() |
19.1 | 125 | |
![]() |
77.1 | 126 | (% class="auto-cursor-target" %) |
127 | {{{$ ./target/Foo.woa/Foo}}} | ||
![]() |
19.1 | 128 | |
![]() |
77.1 | 129 | (% class="auto-cursor-target" %) |
130 | A browser should open and show: | ||
![]() |
67.1 | 131 | |
![]() |
77.1 | 132 | >Hello WOnder world! |
![]() |
67.1 | 133 | |
![]() |
77.2 | 134 | (% id="HImportyourprojectintoEclipse" class="auto-cursor-target" %) |
![]() |
77.1 | 135 | = Import your project into Eclipse = |
![]() |
67.1 | 136 | |
![]() |
77.1 | 137 | (% class="auto-cursor-target" %) |
138 | A final, optional step is to bring the project into Eclipse. | ||
![]() |
25.1 | 139 | |
![]() |
77.1 | 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. | ||
![]() |
25.1 | 143 | |
![]() |
79.1 | 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 | |||
![]() |
77.1 | 153 | (% class="auto-cursor-target" %) |
154 | You're done. |