2016-07-29 21 views
1

Ich habe ein Codename One-Projekt auf Netbeans mit ihrem Plugin.Codename One: Annotations Processing

Gibt es eine Möglichkeit, damit es funktioniert? Ich habe es in den Projekteinstellungen aktiviert und wird immer noch nicht in der finalen JAR angezeigt.

Die Anmerkungen befinden sich in den Bibliotheken des Projekts. und ich kann es getan in der Ausgabe sehen:

warning: Supported source version 'RELEASE_6' from annotation processor 'org.netbeans.modules.openide.util.ServiceProviderProcessor' less than -source '1.8' 

habe ich Anweisungen hier: https://netbeans.org/kb/docs/java/annotations-lombok.html

Update: Ich dachte, es war klar, aber scheint es nicht ist. All dies verwendet Netbeans Lookup. Nehmen wir an, ich habe ein Jar als Projektabhängigkeit mit einer Schnittstelle, sagen wir ITest. Auch eine Klasse Implementierung der Schnittstelle, zum Beispiel:

@ServiceProvider(service=ITest.class) 
public class Test implements ITest{ 
.. 
} 

So im Codenamone Projekt ich es so nennen:

Lookup.getDefault().lookupAll(ITest.class); 

Aber es kommen leer. Ich weiß, dass das System funktioniert wie in anderen Projekten, nur portiert es auf Codename eins. Scheint, als ob es die Anmerkungen in den Abhängigkeiten nicht sieht.

+0

Es ist nicht klar, mit welchem ​​Problem Sie konfrontiert sind. Kannst du es weiter erklären? Was ist das Problem, vor dem Sie stehen? Was ist der * minimale * Code, der erforderlich ist, um das Problem neu zu erstellen? – Toby

+0

Aktualisiert wie angefordert. – javydreamercsw

Antwort

0

Ich weiß nicht, ob das funktioniert und ich bin selbst ziemlich neugierig darauf. Stellen Sie sicher, dass Sie eine Java 8-Version des Projekts erstellt haben und dass Sie auf Java 8 laufen, um zu beginnen.

In der Vergangenheit wurden solche Dinge unter Verwendung von Bytecode-Manipulation, z.B. siehe this code aus der work done by Steve.

+0

funktioniert es von der Quelle selbst. Ich sehe die Dienste generiert, aber nicht aus den Abhängigkeiten. Ich denke, ich muss die Funktionalität duplizieren, nur um es zu funktionieren – javydreamercsw

+0

Wir unterstützen keine Projektabhängigkeiten. Wir haben den Mechanismus cn1lib. Denken Sie daran, dass, wenn Sie NetBeans manipulieren, wir dies nicht in den Geräte-Build aufnehmen können, so dass ein Hack vielleicht am Simulator funktioniert, aber möglicherweise nicht für Android/iOS usw. funktioniert. –

+0

Ich sehe. Leider musste ich die Entwicklung einstellen, da das Framework, das ich benutzte, java.net-Pakete benötigt, die auf dem Handy nicht enthalten sind. Also muss ich zuerst diesen Teil ansprechen. – javydreamercsw