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. |