Kategorie-Archiv: Eclipse IDE

Fehlende Features beim Export in Eclipse

Wenn man mit dem “Product Export Wizard” unter Eclipse 3.4 versucht ein auf Features basierendes Produkt zu exportieren, kann es vorkommen das nicht alle Features exportiert werden.

Das Problem liegt darin, dass in der .product-Datei nicht nur die Features selbst gespeichert werden sondern auch eine Versionsnummer (nämlich die, die beim hinzufügen des Features zum Produkt aktuell war). Wenn dann, nach weiterer Entwicklung und Änderung der Versionsnummer, erneut exportiert wird, ignoriert Eclipse diese neue Version und exportiert das Feature gar nicht. In der UI ist weder die Versionsnummer sichtbar noch erzeugt der Export eine Fehlermeldung.

Eine mögliche Lösung ist, die .product-Datei im Texteditor zu öffnen und dort von Hand auf 0.0.0 zu setzen. Dann exportiert der Wizard grundsätzlich die neueste Version.

Das Problem besteht scheinbar schon eine ganze Zeit (06/2008) und wird im Eclipse-Bugzilla als Bug 191699 geführt. Trotz mittlerweile 1,5 Jahren und 2 Milestone-Realeases ist der Status aber unverändert “New”.

New JBoss with Eclipse howto from Gerhard Schuster

Gerhard Schuster is working on some How-to’s about how to use Eclipse 3.3 to develop and connect EJB 3.0 Beans running on JBoss 4.2.

He’s using a lot of screenshots to make it easy to follow his instructions.

I think it is a worthwhile read for anybody interested in this topic who wants some more detail than my article can offer.

You can find Gerhards articles here:

Connect JBoss and Eclipse

Learn how to deploy a bean to JBoss using Eclipse

Using JBoss EJB 3 with Eclipse RCP [Part 5]

Some code to test

To get something working we need to insert some code in our RCP. We will insert it directly in the Application.java. All output will be echo to the console so that there is no need for a GUI:

package bz.jmc.blog.rcp_with_jboss.rcp;

import java.util.Properties;

import javax.naming.Context;
import javax.naming.InitialContext;

import org.eclipse.core.runtime.IPlatformRunnable;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;

import bz.jmc.blog.tutorial.rcp_with_jboss.ejb.MyTestStatelessSessionRemote;

* This class controls all aspects of the application’s execution
public class Application implements IPlatformRunnable {

/* (non-Javadoc)
* @see org.eclipse.core.runtime.IPlatformRunnable#run(java.lang.Object)
public Object run(Object args) throws Exception {
// EJB-Test
Properties properties = new Properties();

Context context;
try {
context = new InitialContext(properties);
MyTestStatelessSessionRemote sess =
System.out.println( sess.sayHello() );
} catch (Exception e) {
// Normal RCP-App Code
Display display = PlatformUI.createDisplay();
try {
int returnCode = PlatformUI.createAndRunWorkbench(display, new ApplicationWorkbenchAdvisor());
if (returnCode == PlatformUI.RETURN_RESTART) {
return IPlatformRunnable.EXIT_RESTART;
return IPlatformRunnable.EXIT_OK;
} finally {

Now click on “Lauch an Eclipse application” in the “Overview”-tab to lauch the RCP. If anything is OK you should see a RCP window and an output similar to this one:

Erfolgreicher Test der RCP

Hopefully this small tutorial is a little helpful.

Using JBoss EJB 3 with Eclipse RCP [Part 4]

Dependencies und Buddy-Policy

First we need to declare the RCP dependend on the JBoss-plugin.

Declaring dependency

Now we define the Buddy-Policy in the JBoss plugin ( insert “Eclipse-BuddyPolicy: registered” in the Manifest.MF) and let the RCP-Plugin register as a buddy (insert “Eclipse-RegisterBuddy: org.jboss.client” in the Manifest.MF). Please ensure that there is always a blank line at the end of the Manifest.MF and there is no whitespace in front of the “Eclipse-…”!

Buddy-Policy festlegen
Buddy-Policy festlegen

Insert the EJB-Classes in our RCP-Plugin

We need to let our plugin know the EJBs it should work with. Inside the project we create a new folder called “libs” and copy the file MyTestStatelessSession.jar into it. Now we will refresh the project and add the JAR to the build path by right-clicking on the file and choose Build Path > Add to Build Path. The result should look like this:

Adding EJB-Classes

As a last step we need to add the EJB-Jar to the classpath under Runtime. Without this step our JBoss-Plugin is not able to find the classes at runtime.

EJB-Jar dem Classpath hinzufügen

In the last part I will show you how to create some test code to ensure anything is working.

Using JBoss EJB 3 with Eclipse RCP [Part 3]

Creating the RCP-Plugins

Using the menus File > New > Project we will create our RCP. All details you can find in the following 4 screenshots:

RCP Plugin Projekt anlegen
RCP Plugin Projekt anlegen
RCP Plugin Projekt anlegen
RCP Plugin Projekt anlegen

Creating the JBoss-Client-Plugin

Our plugin with the JBoss-Classes will be created similar to the RCP-plugin. But in this case we are using “Plug-in from existing JAR archives”.

Create JBoss-Client-Plugin

In the next dialog we are choosing Add external and select all JARs in the %JBOSSHOME%/client folder. The auth.conf file should not be selected!

Create JBoss-Client-Plugin
Create JBoss-Client-Plugin

Now we need to define the dependency between the two plugins and create a Buddy-Policy. I’ll show that to you in part 4.