Last modified by David Holt on 2022/06/25 01:40

From version 18.1
edited by Greg.Brown
on 2009/02/28 16:27
Change comment: There is no comment for this version
To version 30.1
edited by Greg.Brown
on 2009/02/19 11:01
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,7 +1,7 @@
1 1  = Creating Wonder Applications using Maven + m2eclicpse =
2 2  
3 3  {{note}}
4 - Under Construction - but still a good starting point
4 + Under Construction
5 5  {{/note}}
6 6  
7 7  If you want to use Wonder in your applications (and why woundn't one) you must be correctly setup with:
... ... @@ -21,18 +21,12 @@
21 21  
22 22  With all the tools ready, it's time to make a Wonder application.
23 23  
24 -~1. Make a new project File > New > Other project, choose a Maven project: [[image:wolimmave2.gif]]
24 +1. Make a new project File > New > Other project, choose a Maven project: [[image:wolimmave2.gif]]
25 +1. Hit Next
26 +1. Hit Next again
27 +1. Select an archtype, use the local catalog, select the woapplication-archtype, hit Next:!wolimmaven.gif!
28 +1. Fill in appropriate parameters for the woapplication-archtype to set up your new application, hit Finish!
25 25  
26 -2. Hit Next
27 -
28 -3. Hit Next again [[image:wolimmavena.gif]]
29 -
30 -4. Select an archtype, use the local catalog, select the woapplication-archtype, hit Next:!wolimmavenb.gif!
31 -
32 -5. Fill in appropriate parameters for the woapplication-archtype to set up your new application, hit Finish!
33 -
34 -[[image:wolimmaven.gif]]
35 -
36 36  The eclipse plugins now create your application!
37 37  
38 38  You should create a WOApplication Run Configuration and add the projects build folder's Java to the classpath as detailed here: [[Maven Running or Debugging as WO Application]], otherwise classes won't be found, etc.
... ... @@ -41,37 +41,20 @@
41 41   The woapplication-archtype is under construction, so you must fix a few things.
42 42  # Fix the pom.xml. Delete the properties and dependencies sections that the woapplication-archtype created, and paste this into the pom:
43 43  {code:xml}
44 -...
38 +
45 45   <properties>
46 - <woversion>5.4.3</woversion>
47 - <wonderclassifier>wo54</wonderclassifier>
40 + <woversion>5.3.3</woversion>
48 48   <wonderversion>5.0.0-SNAPSHOT</wonderversion>
49 49   </properties>
50 50  
51 - <!-- the dependency management section defines the characteristics of your dependencies to use when referenced elsewhere -->
52 - <!-- See http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html -->
53 53   <dependencyManagement>
54 - <!-- Only ERExtensions and WOOgnl need a wo53 or wo54 classifier but adding it for all WOnder dependencies safeguards it for any future changes to WOnder -->
55 55   <dependencies>
56 - <!-- in the order you'd like -->
57 57   <dependency>
58 - <groupId>wonder.core</groupId>
59 - <artifactId>ERExtensions</artifactId>
60 - <version>${wonderversion}</version>
61 - <classifier>${wonderclassifier}</classifier>
47 + <groupId>com.webobjects</groupId>
48 + <artifactId>JavaFoundation</artifactId>
49 + <version>${woversion}</version>
62 62   </dependency>
63 63   <dependency>
64 - <groupId>wonder.core</groupId>
65 - <artifactId>WOOgnl</artifactId>
66 - <version>${wonderversion}</version>
67 - <classifier>${wonderclassifier}</classifier>
68 - </dependency>
69 - <dependency>
70 - <groupId>wonder.core</groupId>
71 - <artifactId>ERPrototypes</artifactId>
72 - <version>${wonderversion}</version>
73 - </dependency>
74 - <dependency>
75 75   <groupId>com.webobjects</groupId>
76 76   <artifactId>JavaWebObjects</artifactId>
77 77   <version>${woversion}</version>
... ... @@ -81,51 +81,57 @@
81 81   <artifactId>JavaEOAccess</artifactId>
82 82   <version>${woversion}</version>
83 83   </dependency>
61 + <dependency>
62 + <groupId>wonder.core</groupId>
63 + <artifactId>ERExtensions</artifactId>
64 + <version>${wonderversion}</version>
65 + <classifier>wo53</classifier>
66 + </dependency>
84 84   <dependency>
85 - <groupId>com.webobjects</groupId>
86 - <artifactId>JavaFoundation</artifactId>
87 - <version>${woversion}</version>
68 + <groupId>wonder.core</groupId>
69 + <artifactId>ERPrototypes</artifactId>
70 + <version>${wonderversion}</version>
71 +
88 88   </dependency>
89 89   </dependencies>
90 90   </dependencyManagement>
91 -
92 - <!-- now you just reference the groupId and artifactId of each dependency required. This will work for any child pom also. -->
93 - <!-- See http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html -->
75 +<!-- Only ERExtensions and WOOgnl need a wo53 or wo54 classifier -->
94 94   <dependencies>
95 95   <dependency>
96 96   <groupId>wonder.core</groupId>
97 97   <artifactId>ERExtensions</artifactId>
98 - <classifier>${wonderclassifier}</classifier>
80 + <version>${wonderversion}</version>
81 + <classifier>wo53</classifier>
99 99   </dependency>
100 100   <dependency>
101 101   <groupId>wonder.core</groupId>
102 - <artifactId>WOOgnl</artifactId>
103 - <classifier>${wonderclassifier}</classifier>
104 - </dependency>
105 - <dependency>
106 - <groupId>wonder.core</groupId>
107 107   <artifactId>ERPrototypes</artifactId>
86 + <version>${wonderversion}</version>
108 108   </dependency>
109 109   <dependency>
110 110   <groupId>com.webobjects</groupId>
111 111   <artifactId>JavaFoundation</artifactId>
91 + <version>${woversion}</version>
112 112   </dependency>
113 113   <dependency>
114 114   <groupId>com.webobjects</groupId>
115 115   <artifactId>JavaWebObjects</artifactId>
96 + <version>${woversion}</version>
116 116   </dependency>
117 117   <dependency>
118 118   <groupId>com.webobjects</groupId>
119 119   <artifactId>JavaEOAccess</artifactId>
101 + <version>${woversion}</version>
120 120   </dependency>
103 +
121 121   </dependencies>
122 122  
123 123  {code} Fix the versions and classifiers in the pom to be the correct values.
124 124  
125 -2. Fix the Application, Session, DirectAction jave files import statements. As of this writing the import statements are incorrect for Wonder 5.0 which refactored all its classes into packages other than {code}er.extensions{code}. So just right click on These three files and choose Source > Organize Imports which should, as of this writing, make them {code}import er.extensions.appserver.ERX...{code}
108 +2. Fix the Application, Session, DirectAction jave files. They all should: {code}import er.extensions.appserver.ERX????{code} But the ".appserver." is left out of the import statements.
126 126  
127 127  3. Possibly change web components to extend er.extensions.components.ERXComponent instead of the standard WOComponent.
128 -4. The "Properties" file is blank, you can copy one from a non Maven Wonder Application.
111 +4. Possible classpath issues; the eclipse component editor has multiple Component and Display Group tabs.?
129 129  5. Main component is NSMacOSRomanStringEncoding, non-Maven Wonder apps use "UTF-8" in the woo.
130 130  
131 131  {{/note}}