Last modified by Ray Kiddy on 2010/02/27 14:51

Hide last authors
Johan Henselmans 65.1 1 This document tries to catch the errors that every beginner seems to have to go through before reaching Eclipse/WOLips nirvana. The path is narrow and slippery, but thou shalt be rewarded....
2
Ray Kiddy 136.1 3 {{toc/}}
Johan Henselmans 65.1 4
Ray Kiddy 135.1 5 = Common errors =
Johan Henselmans 65.1 6
Ray Kiddy 135.1 7 == The first most common error: ==
Johan Henselmans 65.1 8
Ray Kiddy 135.1 9 Eclipse/WOLips does not run properly in java 1.4.2.
Johan Henselmans 65.1 10
Ray Kiddy 135.1 11 Run it using **JavaVM1.5**.
12
13 Only Way: **1.5**.
14
Johan Henselmans 71.1 15 **One more time: 1.5**
Johan Henselmans 97.1 16
Ray Kiddy 135.1 17 How to get eclipse running with Java1.5?
Johan Henselmans 97.1 18
Ray Kiddy 135.1 19 go to /Applications/Utilities/Java/J2SE 5.0/Java Preferences. Select J2SE5.0
Johan Henselmans 101.1 20
Ray Kiddy 136.1 21 [[image:attach:JavaRunTimeApplicationSettings.png]]
Johan Henselmans 101.1 22
Ray Kiddy 135.1 23 == The second most common error ==
Johan Henselmans 101.1 24
Ray Kiddy 135.1 25 === I can not get help to start in my browser, things work flakey ===
Johan Henselmans 101.1 26
Ray Kiddy 135.1 27 {{tip}}
28 The following is somewhat out of date - in general terms it is still true but (as of mid-Feb 2009) Eclipse 3.4(.1) is the required version for (nightly and stable) WOLips, and WOLips nightly is around build number (3.4.)5676.
29 {{/tip}}
Johan Henselmans 101.1 30
Ray Kiddy 135.1 31 Eclipse 3.3 is a big, big project. It uses lots of frameworks. Sometimes these frameworks are already in some way available in your environment, but they are old versions, that do not do the expected thing in Eclipse. I had the experience that the help did not start in the browser. If that happens to you, remove all the jars of which you are not sure why they are there in /Library/Java/Extensions. You do not have to remove things like frontbase.jar, postgresql.jar etc.
Johan Henselmans 109.1 32
Ray Kiddy 135.1 33 This should actually fixed in Eclipse 3.3 (Eclipse reads first it's own paths, and then the system paths), but WOLips supports Eclipse3.3 only in the nightly builds. For 3.2.2 you should use the stable build.
Johan Henselmans 109.1 34
Ray Kiddy 135.1 35 == The third most common error ==
Johan Henselmans 109.1 36
Ray Kiddy 135.1 37 === WOLips does not behave like you describe. (Use nightly only on 3.3) ===
Johan Henselmans 109.1 38
Ray Kiddy 135.1 39 WOLips updates often. There is a stable version, (4118) that should be used on Eclipse 3.2.2, the nightly version is where it's at now for 3.3 (Officially released 29th of june 2007). It is used in production by the wonderful people from MDimension who develop WOLips and other WebObjects developers. If something breaks in nightly, it gets fixed immediately. They depend on it themselves.
Johan Henselmans 117.1 40
Ray Kiddy 136.1 41 [[http:~~/~~/webobjects.mdimension.com/wolips/nightly/>>url:http://webobjects.mdimension.com/wolips/nightly/||shape="rect"]] should be in your Eclipse update site, under Help->Software Update->Find and install->Search for new features to install
Johan Henselmans 117.1 42
Ray Kiddy 135.1 43 == The fourth most common error ==
Johan Henselmans 117.1 44
Ray Kiddy 135.1 45 === I can not install the projects I built, the WOLips install does not work, strange things happen. (be admin) ===
Johan Henselmans 117.1 46
Ray Kiddy 135.1 47 Allthough we all know that we should not run as admin, for installing Eclipse you'd better be. If you have installed Eclipse on one of the common places, or it has been installed for you, than the permission from the Eclipse folder will prevent you to install WOLips and other plugins. Make sure that, if you are installing plugins, You are allowed to do so.
Johan Henselmans 117.1 48
Ray Kiddy 135.1 49 If you are working on a Mac where multiple users will need to use Eclipse, you have to change Eclipse's permissions because it will not allow other people to install features, even if they are in the admin group.
Johan Henselmans 117.1 50
Ray Kiddy 135.1 51 More admin problems
Johan Henselmans 101.1 52
Ray Kiddy 135.1 53 If installing your frameworks does not work, than it might be that you are running as a plain user, not admin user. The WOLips ant install by default tries to install in /Library/Frameworks, and Apps in /Library/WebObjects/Applications. As a plain user you should not have permission to write there.
54
55 = User questions =
56
Ray Kiddy 136.1 57 == I created a component but I don't see it in the Components folder! ==
Ray Kiddy 135.1 58
Ray Kiddy 136.1 59 When you create a new component, it will put the component into the highlighted folder in the Package Explorer. For example, if the current highlighted folder is the project name, the component will be created in the top-level folder of the project. So you will find your component there and you can move it to the Components folder.
Ray Kiddy 135.1 60
61 So when you create a new component, make sure that you highlight the Components folder, or right-click on the Components folder and select New->Component, it will be created into the good folder.
62
63 == Why don't I see all my files? ==
64
Johan Henselmans 101.1 65 Not all the files are presented, some are filtered away. In Package Explorer (In WOLips pespective, the upper left window), go to the right corner of that window, there is a caret. Under this caret, there is a Filter option.Click on it to see what get's filtered away.
66
Ray Kiddy 136.1 67 [[image:attach:filters.png]]
Johan Henselmans 101.1 68
Johan Henselmans 117.1 69 As you can see, quite a lot of files are excluded from the view.
70
Ray Kiddy 136.1 71 [[image:attach:FilterProperties.png]]
Johan Henselmans 117.1 72
Ray Kiddy 135.1 73 == Where did all my code go? ==
Johan Henselmans 101.1 74
75 Suppose you suddenly ended up with something like this:
76
Ray Kiddy 136.1 77 [[image:attach:StrangePerspective1.png]]
Johan Henselmans 101.1 78
79 Or this:
80
Ray Kiddy 136.1 81 [[image:attach:StrangePerspective2.png]]
Johan Henselmans 101.1 82
83 Most of the times this is caused by inadvertently clicking on the menu-bar of the subwindow. That window will then fill the whole workspace.Clicking the menubar one more time will restore the view.
84
85 Or it is happened because your perspective has changed inadertently, because you clicked on a file that caused another perspective to be fired up (like Entitymodeler) You can go to the top right, where there is a place where the currently loaded perspectives are located. Choose WOLips again. You're done.
86
Ray Kiddy 136.1 87 [[image:attach:chooseperspective.png]]
Johan Henselmans 101.1 88
Ray Kiddy 135.1 89 == I have the right perspective, but it is all screwed up. ==
Johan Henselmans 101.1 90
Ray Kiddy 135.1 91 That happens. A lot, if you are inexperienced. And even if you are experienced. Eclipse does some things inadvertently, and as it does not conform to the Apple Interface guidelines, you might press something that has an other effect in Eclipse.
Johan Henselmans 101.1 92
Ray Kiddy 135.1 93 Do not worry: there is a menu button, Windown->Reset Perspective that will give you the original settings back.
Johan Henselmans 101.1 94
Ray Kiddy 135.1 95 == Which file from which project am I editing? ==
Johan Henselmans 109.1 96
Ray Kiddy 135.1 97 If you open a lot of projects at the same time, you'll sometime find yourself editing a few Session.java or localizable.strings files at the same time. How can you see which file from what project you are editing? There is a simple trick for that: in the Package Explorer window, click on the icon with the two arrows on it. From now on, if you select another file in the editor window, you'll be directed to that file in the project in Package Explorer.
Johan Henselmans 109.1 98
Ray Kiddy 136.1 99 [[image:attach:SeeFileinProject.png]]
Johan Henselmans 109.1 100
Ray Kiddy 135.1 101 == Another app is running than I expected: ==
Johan Henselmans 101.1 102
Ray Kiddy 135.1 103 Running an app works a bit different from running an app in XCode.
Johan Henselmans 101.1 104
Ray Kiddy 135.1 105 Normally you select the project in the Package Explorer, goto to the contextual menu (via right click), then click Run WOApplication. you can also go to the Run menu. Or to the Run icon.
Johan Henselmans 101.1 106
Johan Henselmans 109.1 107 Don't suppose you are running the app you are running because you selected the project and pressed the run button in the toolbar. It will run the last application you have run, no matter what you have selected in the package explorer. You have to do a "run as", select your program and then you might get your app.
108
Ray Kiddy 135.1 109 == I want to run my app with some other arguments. ==
Johan Henselmans 101.1 110
Ray Kiddy 135.1 111 The way eclipse works, it saves a set of arguments in which your app has run. This set of arguments have some default settings, depending on which type of application you are running. You can save these arguments in your project, for later use.
Johan Henselmans 101.1 112
Ray Kiddy 135.1 113 == Changing the Launch arguments: ==
Johan Henselmans 101.1 114
Ray Kiddy 135.1 115 Select Project in Package Explorer, from menu choose Run->Run... , from contextual menu choose Run As->Run
Johan Henselmans 101.1 116
Ray Kiddy 136.1 117 [[image:attach:LaunchArgs1.png]]
Johan Henselmans 101.1 118
Ray Kiddy 135.1 119 You'll get into the create,manage and run configurations window. If there are any launch configurations available in your projects, you will already see them here. If there aren't any, a new one will be created. Normally the proper settings for a WOApplication are all in place, if you have created the application from the contextual menu. See the tutorials.
Johan Henselmans 101.1 120
Ray Kiddy 136.1 121 Note that if you are overriding a parameter supplied by WebObjects, such as WOPort or WOAutoOpenInBrowser, then you need to add the parameter settings in the Arguments tab that you see above. For example, you can add "-WOPort 55555 -WOAutoOpenInBrowser NO". BUT, you also need to uncheck these entries in the "WO" tab above. If you do uncheck them, your suggestions may be ignored.
Johan Henselmans 101.1 122
Ray Kiddy 135.1 123 By default these settings are stored in the workspace, not in the project. If you want to store them in the project, you have to change the settings under the "Common" tab, from "local" file to "shared file", and you can save it then in your project for future use.
Johan Henselmans 101.1 124
Ray Kiddy 136.1 125 [[image:attach:Launchsaving.png]]
Johan Henselmans 101.1 126
Ray Kiddy 135.1 127 == I want to open EntityModeler in a new window, so it does not get in the way of WOLips ==
Johan Henselmans 117.1 128
129 There is a setting in the WOLips preferences, which will get your EOModel started in a separate EntityModelere window:
130
Ray Kiddy 136.1 131 [[image:attach:OpenEntityModelerInNewWindowAnnot.png]]
Johan Henselmans 117.1 132
Ray Kiddy 135.1 133 == I see all that magic typing with code completion going on. How do you do that? ==
Johan Henselmans 117.1 134
Ray Kiddy 135.1 135 The shortcut is Control-space on the Mac, by default. It is also known as contextual assist.
Johan Henselmans 117.1 136
Ray Kiddy 135.1 137 Actually, it is real magic. The trick is that it works in a contextual way. So the program knows what kind code can be expected where. For instance, if you are inside the bindings of a WOComponent, it will know which bindings are there. Just press Control-Space, and you will get the possible endings.
Johan Henselmans 117.1 138
Ray Kiddy 136.1 139 [[image:attach:ContextualContentAssist.png]]
Johan Henselmans 117.1 140
Ray Kiddy 135.1 141 {{warning}}
Ray Kiddy 136.1 142 Please note that Control-Space is also the key combo for Spotlight. You need to either change the key combo for Eclipse (Preferences->General->Keys) or for Spotlight (System Prefences->Spotlight).
Ray Kiddy 135.1 143 {{/warning}}
144
145 == Which shortcuts are available? ==
146
Johan Henselmans 101.1 147 I don't know. It depends on the plugins you are running. Fortunately, there is a shortcut to end all shortcuts:
148
Ray Kiddy 135.1 149 cmd-shift-l= show the shortcuts in a popup-window. Pressing cmd-shift-l one more time will show you all the shortcuts via the preferences.
Johan Henselmans 101.1 150
151 Some general Eclipse shortcuts:
152
Pascal Robert 129.1 153 cmd-1 = Quickfix: suggest you a fix for your errror
Ray Kiddy 136.1 154 cmd-e = quick switch to other open documents
155 cmd-space = completion, also known as content assist. This one screws up with the standard settings for Spotlight, which are also cmd-space. Some have tried to move cmd-space to something else in Eclipse, but that does not seems to be picked up everywhere. Better replace Spotlight to something else.
Johan Henselmans 101.1 156
157 Some shortcuts that are available from WOLips (gracefully donated by Mike Schrag):
158
159 Ten ShortCut Commandments for Mike:
Ray Kiddy 136.1 160 cmd-shift-t = open type
161 cmd-shift-r = open resource
162 cmd-shift-o = auto-import
163 cmd-opt-r = refactor rename (global)
164 cmd-2 r = refactor local rename
165 cmd-opt-1 / 2 / 3 = switch between java/wod/html
166 cmd-o = in-place outline view
167 cmd-o o = include superclass
168 cmd-shift-g = show references
169 F3 = go to declaration
Pascal Robert 129.1 170
Ray Kiddy 136.1 171 Another nice overview of shortcuts that Edgar Klein sent me can be found here: [[http:~~/~~/eclipse-tools.sourceforge.net/Keyboard_shortcuts_(3.0).pdf>>url:http://eclipse-tools.sourceforge.net/Keyboard_shortcuts_(3.0).pdf||shape="rect"]]. It can be even printed out on one double page, so you can put it above your bed.
Ray Kiddy 135.1 172
173 == I have the choice of doing a WOApplication or a WOnderApplication, which one should I use ? ==
174
Ray Kiddy 136.1 175 If you use WOLips/Eclipse 3.2, or if you use a WOLips 3.3 from before December 2007, the layout for the WOApplication and for the WOnder Application was quite different.  Starting in recent (December 2007 and later) builds of WOLips, the layout is the same ("WebObjects Application" use the "Wonder" layout), the only difference between them is that the Wonder-type application and framework will link to the Wonder frameworks (ERJars and ERExtensions), Application.java will extend from ERXApplication and Session.java will extend from ERXSession.
Ray Kiddy 135.1 176
Ray Kiddy 136.1 177 If you are using a old build of WOLips, you should use the Wonder layout, you just need to remove the references to ER* if you don't use Wonder.
Ray Kiddy 135.1 178
179 == If I right-click on an folder and select "New", I don't see "EOModel" or "WOComponent" as options. ==
180
181 Make sure that your current perpective is "WOLips", if you are in the "Java" or "J2EE" perpective, all WebObjects-related file types are not available.
182
183 == Component Bindings are Showing Errors, but No Error Is Present ==
184
Ray Kiddy 136.1 185 This can occur for example where you are overriding {{code language="none"}}valueForKey(..){{/code}} and so the component editor is not able to know that a keypath is valid. In this case add {{code language="none"}}//VALID{{/code}} at the end the association and Eclipse will stop taking this to be a bad binding. An example follows;
Ray Kiddy 135.1 186
187 {{noformat}}
188
189 SomeString : WOString {
190 value = foo.bar; //VALID
191 }
192
193 {{/noformat}}
194
195 == Classpath Order ==
196
Ray Kiddy 136.1 197 [App]
198 [Non-App-Projects]
199 [Non-Apple-Framework jars]
200 [Apple-Framework jars]
201 [normal jars (everything not named Foo.framework/../Foo.jar)]