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