Nach Umbenennung der Packages viele Probleme

Mappenz

Bekanntes Mitglied
Ich habe ein kleines Plug-in mit einem View und einer Perspective. Nachdem ich die Packages mit refactor>rename geändert habe hatte ich große Probleme mit dem Projekt und mit SVN. Ich denke, dass ich Mitlerweile fast alle Probleme behoben habe. Wenigstens werden die Klassen wieder gefunden. Die Fehler sind Folgende

1. Beim Laden der View wird eine Nullpointerexception geworfen.
Code:
 final Image originalImg  = Activator.getImageDescriptor("icons/artikelen_afbeelding_96790.jpg").createImage();
Ich habe bis jetzt noch kein besonders gutes Verständnis für relative Pfade (besonders im Zusammenhang mit Plug-ins). Während ich mir ziemlich sicher bin, dass der Fehler durch falsche Angabe des Pfades entsteht,komme ich nicht darauf wie es richtig aussehen muss. Das Bild existiert in dem Pfad, wurde vor den Namensänderung auch gefunden und auch nicht mit geändert. Die Klasse die das Bild benutzt liegt aber in der Ordnerstruktur nun tiefer.

2. Beim Bauen werde ich gefragt ob ich wirklich bauen möchte, denn es existieren noch Fehler im Projekt. Meine Klassen sehen gut aus. Aber in der Plugin.xml habe ich Probleme:
Code:
No Grammarkonstrains (DTD or XML shema) detected for the document
. Ich bin mir sehr sicher, dass das erst seit der Umbenennung ist, daher macht es keinen Sinn irgend ein Dokument zu verlinken.

[XML]<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="de.fzi.se.fischertechnikUI.perspectives.PerspectiveFactory"
icon="icons/sample.gif"
id="de.fzi.se.fischertechnikUI.FischertechnikUI"
name="FischertechnikUI">
</perspective>
</extension>
<extension
point="org.eclipse.ui.views">
<category
id="de.fzi.se.fischertechnikUI.FischertechnikCategory"
name="FischertechnikUICategory">
</category>
<view
category="de.fzi.se.fischertechnikUI.FischertechnikCategory"
class="de.fzi.se.fischertechnikUI.views.FischertechnikUI"
icon="icons/sample.gif"
id="de.fzi.se.fischertechnikUI.FischertechnikUIView"
name="FischertechnikUI"
restorable="true">
</view>
</extension>
</plugin>
[/XML]

[XML]Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: FischertechnikUI
Bundle-SymbolicName: fischertechnikUI;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: de.fzi.se.fischertechnikUI.Activator
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6[/XML]


Code:
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
               META-INF/,\
               .,\
               icons/
 

Mappenz

Bekanntes Mitglied
Die NPE wird von
Code:
createPartControl(Composite parent)
aus der Klasse die zum View gehört direkt nach dem Eintritt, auch ohne Code geworfen.
 

Mappenz

Bekanntes Mitglied
Im Debugger sehe ich ein komisches Verhalten.
Zunächst kommentiere ich allen Code aus der Funktion
Code:
createPartControl(Composite parent)
aus. Hier ist auch die einzige stelle in an der ich "/icons/artikelen_afbeelding_96790.jpg" und den Aufruf
Java:
 Activator.getImageDescriptor("/icons/artikelen_afbeelding_96790.jpg").createImage();
überhaupt verwende.

Aus der Funktion
Code:
createPartControl(Composite parent)
herraus wird dann trotzdem
Java:
 Activator.getImageDescriptor("/icons/artikelen_afbeelding_96790.jpg").createImage();
aufgerufen.

Vor Ausführung wird erst mal gecleared.

Schaut euch die Fotos an. Wie kann das sein?
 

Anhänge

  • Bildschirmfoto - 11.08.2011 - 23:19:48.png
    Bildschirmfoto - 11.08.2011 - 23:19:48.png
    15,7 KB · Aufrufe: 23
  • Bildschirmfoto - 11.08.2011 - 23:20:34.png
    Bildschirmfoto - 11.08.2011 - 23:20:34.png
    35,3 KB · Aufrufe: 25
  • Bildschirmfoto - 11.08.2011 - 23:21:31.png
    Bildschirmfoto - 11.08.2011 - 23:21:31.png
    39,8 KB · Aufrufe: 25
G

Gonzo17

Gast
Das hört sich schon sehr dubios an. Versuch doch mal in einem frischen Workspace den Code neu auszuchecken und schau, ob es sich genauso verhält. Vielleicht ist das ein Problem von Eclipse, dass da irgendwie (warum auch immer) alter Code verwendet wird. Zumindest machts ja keinen Sinn, dass auskommentierter Code ausgeführt wird.
 

Mappenz

Bekanntes Mitglied
In neuem Workspace ausgeführt bekomme ich andere Probleme. Gestern habe ich im alten Workspace den bin Ordner gelöscht, der Effekt war der Selbe. Klassen können nicht gefunden werden.
Code:
!ENTRY org.eclipse.osgi 2 0 2011-08-12 10:43:50.254
!MESSAGE The activator de.xx.xx.fischertechnikUI.Activator for bundle fischertechnikUI is invalid
!STACK 0
org.osgi.framework.BundleException: The activator de.xx.xx.fischertechnikUI.Activator for bundle fischertechnikUI is invalid
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadBundleActivator(AbstractBundle.java:156)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:751)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)
...
...
Code:
Root exception:
java.lang.ClassNotFoundException: de.xx.xx.fischertechnikUI.Activator
	at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)
	at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)
...

Ich habe nun aber schon zu viel zeit damit verbracht und obwohl es mir sehr gegen den Strich geht bin ich kurz vorm Aufgeben, nochmal den Activator genau anschauen. Danach wird alles neu gemacht.
 

Sonecc

Gesperrter Benutzer
Schonmal Clean Projects gemacht?
Dass er den Code verarbeitet trotz der Tatsache, dass er auskommentiert wurde spricht dafür, dass die *.class Dateien alt sind und das wiederum dafür, dass nicht komplett neu kompiliert wurde.
Einfach mal ein Clean Projects auf alle Projekte machen und dann nochmal schauen
 

Sonecc

Gesperrter Benutzer
Bedeutet dass, das dein Problem gelöst ist oder kriegst du weiterhin fehler die du vorher nicht hattest?

Btw. solltest du möglichst nicht selbst irgendwelche Ordner löschen, sondern das Eclipse machen lassen (wie in dem Fall der bin Ordner). Clean Projects ist genau dafür da.
 

Sonecc

Gesperrter Benutzer
Der Activator liegt auch wirklich an de.xx.xx.fischertechnikUI.Activator und ist fehlerfrei? Gibts dort irgendwelche compilermeldungen für?
Ist der Activator bearbeitet worden, also ist dort eigener Code drin oder ist er genauso, wie Eclipse ihn erzeugt hat?
 

Mappenz

Bekanntes Mitglied
Den Activator habe ich bis jetzt nicht angefasst. Als ich Reingeschaut habe ist mir das hier aufgefallen.
Java:
	// The plug-in ID
	public static final String PLUGIN_ID = "wscFischertechnik"; //$NON-NLS-1$
Das ist der alte Name.

Java:
public static final String PLUGIN_ID = "de.xx.xx.fischertechnikUI";
hat erstmal keine Verbesserung gebracht, wo kann ich denn die ID des Plugins ablesen? Compilermeldungen habe ich keine
 

Mappenz

Bekanntes Mitglied
Ich habe auf einem anderen Workspace ein neues Plugin-Projekt gemacht und die Klassen übernommen, nachdem ich hier im Activator die ID richtig eingestellt habe funktioniert es wieder.

Ich denke auf dem alten Workspace wurde veränderter Quellcode meiner Ansischt nach nicht gebaut. Vor dem Ausführen wurde ich vor Fehlern im Projekt gewarnt. Ich weis nicht wo die Fehler sein sollen. Der Code sieht ok aus, lediglich im plugin.xml habe ich die Warunung mit den grammar constraints.

Ich werde nun das neue Projekt ins SVN repository schieben und damit weiter machen. Hoffe, dass dies wenigstens glatt geht. Danke für die Hilfe, schön dass man ernst genommen wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Nach Sprachpaket Installation kann eclipse nicht mehr gestartet werden Plattformprogrammierung 4
B Eclipse zeigt Fehler nach Java-Update auf 1.8.0_40 Plattformprogrammierung 3
S RCP Nach erfolgreicher Erstellung der View, wie weitermachen? Plattformprogrammierung 1
H PHP Perspective nach Run immer im Vordergrund - Was tun Plattformprogrammierung 0
J Charset-Problem nach Plugin-Export Plattformprogrammierung 1
N RCP Tabelle nach mehreren kriterien sortieren Plattformprogrammierung 2
B RCP LinkageError nach Produktexport Plattformprogrammierung 3
S RCP ContextMenu nach selectedTreeItem anpassen? Plattformprogrammierung 5
M RCP TableViewer schrumpft in View nach manueller Resize auf 1 Zeile Plattformprogrammierung 5
A RCP RAP-Bundle nach Installation nicht auffindbar?! Plattformprogrammierung 5
A RCP HTTP ERROR 404; einwandfreier Start nach Browser-Reload Plattformprogrammierung 4
S xpend ecore::EJavaObjet nach Integer oder String Plattformprogrammierung 11
dzim Migration einer bestehenden Applikation nach e4 Plattformprogrammierung 11
lumo RCP libraries werden nach dem export nicht gefunden Plattformprogrammierung 17
dzim RCP Überführen einer RCP-Anwendung nach RAP Plattformprogrammierung 11
B Cross Build von WinXP, Fail nach Splash auf MAC Plattformprogrammierung 2
N Neustart nach preference-Änderung Plattformprogrammierung 13
M Nach Export läuft Applikation nicht mehr??? Plattformprogrammierung 2
G swt widget disposed nach update auf 3.2 Plattformprogrammierung 4
S RCP, Klassen und Packages Plattformprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben