<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>lekkimworld.comjava_explained</title>
    <link>http://lekkimworld.com/tags/java_explained/</link>
    <description>IBM Lotus Notes/Domino, Websphere, IBM Connections, mobile, web, JavaScript, Java...</description>
    <language>en</language>
    <copyright>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</copyright>
    <pubDate>Sat, 19 May 2012 06:50:25 GMT</pubDate>
    <dc:creator>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:creator>
    <dc:date>2012-05-19T06:50:25Z</dc:date>
    <dc:language>en</dc:language>
    <dc:rights>Mikkel Flindt Heisterberg (mh [at] intravision [dot] dk</dc:rights>
    <image>
      <title>lekkimworld.comjava_explained</title>
      <url>http://lekkimworld.com/tags/java_explained/</url>
    </image>
    <item>
      <title>Show 'n Tell Thursday: Cross compiling sidebar plugins for Notes 8.0.x and Notes 8.5 (7 August 2008)</title>
      <link>http://lekkimworld.com/2008/08/07/show_n_tell_thursday_cross_compiling_sidebar_plugins_for_notes_8_0_x_and_notes_8_5_7_august_2008.html</link>
      <content:encoded>&lt;p&gt;
&lt;img src="http://lekkimworld.com/images/domino/show-n-tell/showandtellthursdays_small.jpg" style="float: right; margin: -10px 0 10px 10px;" /&gt;
I haven't done a SnTT in months (actually the last one was back on 24 May 2007) so I guess it's about time. This week it's about cross compiling sidebar plugins for Notes 8.5 and Notes 8.0.2. Enjoy...
&lt;/p&gt;
&lt;p&gt;
Since installing Notes 8.5 I have had a lot of trouble developing in Eclipse 3.4 for Notes 8.5 and having the plugins work in Notes 8.0.x as well. The problem showed itself as a NullPointerException when trying to load the plugin Activator and a "Viewpart is null" message in the Notes UI. Looking at the log trace showed a class incompatibility message ("bad major version at offset=6").
&lt;/p&gt;
&lt;p&gt;
So far I have been screaming my lungs out, developing in Eclipse 3.4 and building the plugins in a virtual machine with Eclipse 3.2 as I couldn't get plugins to work otherwise. Now I finally found a solution that lets me develop in Eclipse 3.4 and having the plugins work in Notes 8.0.x and Notes 8.5.
&lt;/p&gt;
&lt;p&gt;
The issue is that Eclipse 3.4 configured with Notes 8.5 as a target platform is using Java 6 and that Notes 8.0.x is using Java 5 which causes class format problems. The solution is to set the required execution environment in Eclipse 3.4 which will cause Eclipse to build correctly. Setting the required execution environment (J2SE-1.5) is done in the "Overview"-tab of the MANIFEST.MF editor as shown below.
&lt;/p&gt;
&lt;p align="center"&gt;
&lt;img src="http://lekkimworld.com/images/notes85/eclipse34_execution_environment.jpg" /&gt;
&lt;/p&gt;
&lt;p&gt;
Using the GUI is of cause just a shorthand for editing the manifest manually. As an alternative you can edit your META-INF/MANIFEST.MF file directly and add the following line:
&lt;pre&gt;
Bundle-RequiredExecutionEnvironment: J2SE-1.5
&lt;/pre&gt;
Please note that this is not the default value when creating new plugins in Eclipse 3.4 so you'll have to pay attention and make sure it's set correctly. This is of cause only necessary if your plugins need to work on Notes 8.0.x as well as Notes 8.5.
&lt;/p&gt;
&lt;p&gt;
Thanks to Pierre Carlson from IBM for pointers on this.
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/categories/sntt/">SnTT</category>
      <category domain="http://lekkimworld.com/tags/eclipse/">eclipse</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <category domain="http://lekkimworld.com/tags/notes8/">notes8</category>
      <category domain="http://lekkimworld.com/tags/notes85/">notes85</category>
      <category domain="http://lekkimworld.com/tags/show-n-tellthursday/">show-n-tellthursday</category>
      <category domain="http://lekkimworld.com/tags/sntt/">sntt</category>
      <pubDate>Thu, 07 Aug 2008 07:28:38 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2008-08-07:default/1218094118164</guid>
      <dc:date>2008-08-07T07:28:38Z</dc:date>
    </item>
    <item>
      <title>Show 'n Tell Thursday: Showing a progress bar / joining threads (24 May 2007)</title>
      <link>http://lekkimworld.com/2007/05/24/show_n_tell_thursday_showing_a_progress_bar_joining_threads_24_may_2007.html</link>
      <content:encoded>&lt;p&gt;
Well it has been a long time since my last SnTT post so here we go. This post is on showing a progress bar from a Java agent while loading data in another thread. This post is based on a &lt;a href="http://www-10.lotus.com/ldd/nd6forum.nsf/DateAllFlatWeb/DA9E9DEC434209C5852572E3002807D3?OpenDocument&amp;ca=drs-fo"&gt;post&lt;/a&gt; on developerWorks.
&lt;/p&gt;
&lt;p&gt;
Technorati tags: &lt;a href="http://technorati.com/tag/Show-n-tell+Thursday" rel="tag"&gt;Show-n-tell Thursday&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SnTT" rel="tag"&gt;SnTT&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;&lt;a href="http://lekkimworld.com/2007/05/24/show_n_tell_thursday_showing_a_progress_bar_joining_threads_24_may_2007.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/categories/sntt/">SnTT</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <category domain="http://lekkimworld.com/tags/show-n-tellthursday/">show-n-tellthursday</category>
      <category domain="http://lekkimworld.com/tags/sntt/">sntt</category>
      <category domain="http://lekkimworld.com/tags/swing/">swing</category>
      <pubDate>Thu, 24 May 2007 06:15:23 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2007-05-24:default/1179987323471</guid>
      <dc:date>2007-05-24T06:15:23Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: Stacktraces</title>
      <link>http://lekkimworld.com/2007/05/18/java_in_notes_domino_explained_stacktraces.html</link>
      <content:encoded>&lt;p&gt;
&lt;img src="http://lekkimworld.com/images/java/domino_java.gif" style="float: right; margin: -10px 0 10px 10px;" /&gt;
Not much information on Java in Notes/Domino per say in this post but simply a pointer to a nice article on reading stack and tread dumps which is a &lt;u&gt;must&lt;/u&gt; for all programming in Java.
&lt;/p&gt;
&lt;p&gt;
Remember that as of Java 1.4 (Notes/Domino 7.x) you can use Java classes access the elements of a stacktrace. You can use this to further diagnose the trace and make a more intelligent decision on how to handle it. Look for the &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/StackTraceElement.html"&gt;StackTraceElement&lt;/a&gt; class in the javadocs.
&lt;/p&gt;
&lt;p&gt;
Link to article: &lt;a href="http://www.me.umn.edu/~shivane/blogs/cafefeed/2004/06/of-thread-dumps-and-stack-traces.html"&gt;Of Thread dumps and stack traces ...&lt;/a&gt;. 
&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <category domain="http://lekkimworld.com/tags/stacktrace/">stacktrace</category>
      <pubDate>Fri, 18 May 2007 06:47:46 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2007-05-18:default/1179470866286</guid>
      <dc:date>2007-05-18T06:47:46Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: NotesException</title>
      <link>http://lekkimworld.com/2006/09/15/java_in_notes_domino_explained_notesexception.html</link>
      <content:encoded>Just a short post about lotus.domino.NotesException.&lt;p&gt;&lt;a href="http://lekkimworld.com/2006/09/15/java_in_notes_domino_explained_notesexception.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <pubDate>Fri, 15 Sep 2006 05:47:53 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2006-09-15:default/1158299273428</guid>
      <dc:date>2006-09-15T05:47:53Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: Domino Session Tester</title>
      <link>http://lekkimworld.com/2006/07/10/java_in_notes_domino_explained_domino_session_tester.html</link>
      <content:encoded>As &lt;a href="http://lekkimworld.com/2006/07/08/java_in_notes_domino_explained_different_kinds_of_sessions.html"&gt;described previously&lt;/a&gt; you can create local and remote sessions to Notes/Domino using the Java API. This post provides a downloadable utility to test local and remote sessions.&lt;p&gt;&lt;a href="http://lekkimworld.com/2006/07/10/java_in_notes_domino_explained_domino_session_tester.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <pubDate>Mon, 10 Jul 2006 07:50:03 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2006-07-10:default/1152517803435</guid>
      <dc:date>2006-07-10T07:50:03Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: Different kinds of sessions</title>
      <link>http://lekkimworld.com/2006/07/08/java_in_notes_domino_explained_different_kinds_of_sessions.html</link>
      <content:encoded>There are two types of sessions when talking Java and Notes/Domino. This post describes the difference.&lt;p&gt;&lt;a href="http://lekkimworld.com/2006/07/08/java_in_notes_domino_explained_different_kinds_of_sessions.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <pubDate>Sat, 08 Jul 2006 14:19:08 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2006-07-08:default/1152368348852</guid>
      <dc:date>2006-07-08T14:19:08Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 5)</title>
      <link>http://lekkimworld.com/2006/06/26/java_in_notes_domino_explained_test_agents_in_eclipse_by_extending_agentbase_part_5.html</link>
      <content:encoded>This post is the fifth part in a series on how to extend the lotus.domino.AgentBase class to allow you to test and debug Notes/Domino agents in Eclipse. You really should read &lt;a href="http://lekkimworld.com/2006/06/12/1150089700490.html"&gt;part 1&lt;/a&gt;, &lt;a href="http://lekkimworld.com/2006/06/13/1150196988170.html"&gt;part 2&lt;/a&gt;, &lt;a href="http://lekkimworld.com/2006/06/14/1150261241681.html"&gt;part 3&lt;/a&gt; and &lt;a href="http://lekkimworld.com/2006/06/15/1150372943179.html"&gt;part 4&lt;/a&gt; before reading this post. This part will show how to use the new and improved AgentBase class and how it allows you to easily write, test and debug Notes/Domino Java agents in Eclipse.&lt;p&gt;&lt;a href="http://lekkimworld.com/2006/06/26/java_in_notes_domino_explained_test_agents_in_eclipse_by_extending_agentbase_part_5.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <pubDate>Mon, 26 Jun 2006 07:17:19 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2006-06-26:default/1151306239532</guid>
      <dc:date>2006-06-26T07:17:19Z</dc:date>
    </item>
    <item>
      <title>Java in Notes/Domino Explained: Can I cast a null pointer?</title>
      <link>http://lekkimworld.com/2006/06/21/java_in_notes_domino_explained_can_i_cast_a_null_pointer.html</link>
      <content:encoded>I see the above question a lot in my referers so I thought I would answer it briefly.&lt;p&gt;&lt;a href="http://lekkimworld.com/2006/06/21/java_in_notes_domino_explained_can_i_cast_a_null_pointer.html"&gt;Read more...&lt;/a&gt;&lt;/p&gt;</content:encoded>
      <category domain="http://lekkimworld.com/categories/java/">Java</category>
      <category domain="http://lekkimworld.com/tags/java/">java</category>
      <category domain="http://lekkimworld.com/tags/java_explained/">java_explained</category>
      <pubDate>Wed, 21 Jun 2006 03:55:30 GMT</pubDate>
      <guid isPermaLink="false">tag:lekkimworld.com,2006-06-21:default/1150862130847</guid>
      <dc:date>2006-06-21T03:55:30Z</dc:date>
    </item>
  </channel>
</rss>


