Eclipse unter Leopard mit 1.6 DP4?

B

bazzz

Tag,

habe 1.6D4 installiert und versucht, Eclipse damit zu starten. Der java-Prozess fliegt mir leider direkt nach dem Start um die Ohren. Kann es sein, dass die 1.6er Version für Leopard (64bit) auf die Nase fällt, wenn sie versucht die 32-bit swt-Bibliothek zu laden? Ich habe auf EclipseZone durch Googeln etwas gefunden, was zumindest danach riecht...

Oder nutzt jemand bereits Eclipse auf Leopard mit 1.6DP4?

Die Fehlermeldung ist: "Cannot find executable for CFBundle 0x112ea0"

Java Version ist:

Code:
Macintosh:eclipse ali$ java -version
java version "1.6.0_04-dp"
Java(TM) SE Runtime Environment (build 1.6.0_04-dp-b06-110)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0_04-b12-45-optimized, mixed mode)
 
So. Googlen macht schlauer... Ein paar Fakten für interessierte Java Entwickler:

  • Seit dem aktuellen Java Preview (1.6 DP4) ist die VM ausschliesslich 64bit (daher glaube ich auch nicht an Java 6 für Tiger...)
  • Die 32-bit Carbon-SWT Bibliothek lässt sich unter der aktuellen (und den kommenden 1.6er) Java Version nicht laden (keine Mischen von 32-bit und 64-bit libs im Java Prozess, der switch -d32 läuft bei der aktuellen 1.6 VM ins Leere)
  • Die 32-bit Carbon SWT Bibliothek wird auch mit Eclipse 3.4 ausgeliefert (auch diese Version wird somit nicht mit Java 1.6 unter Leopard laufen)
  • Derzeit arbeitet scheinbar niemand an einem 64-bit Port der SWT Carbon Version, d.h. auch auf absehbare Zeit wird Eclipse auf Leopard mit Java 1.6 nicht laufen
  • Man hat sich dazu entschlossen, direkt eine 64-bit SWT Implementierung auf Basis von Cocoa zu implementieren, hat dort jedoch scheinbar ein Resourcenproblem (keine "offiziellen" (IBM) Resourcen committed), es gibt zwar wa im CVS, aber noch lääängst nicht fertig

Sieht nicht gut aus für Eclipse mit Java 1.6 bzw. Eclipse (Cocoa)

Wie sagte S. Jobs damals "Mac is the best Java development platform"... Nee, ist klar.
 
Hm, es gab auch ein Preview das noch 32Bit unterstützte, dies schein jedoch aus dem ADC-Bereich verschwunden zu sein.

DP4 scheint jedoch nicht mehr aktuell zu sein, da bei mir schon DP9 angezeigt wird.

Wie sieht es den sonst aus wenn du den 32-Bit Port von hier: http://landonf.bikemonkey.org/static/soylatte/
dort gibt es eine 32-Bit und ein 64-Bit Port für 10.4 und 10.5

Ich kanns hier grad leider nicht testen.
 
DP4 scheint jedoch nicht mehr aktuell zu sein, da bei mir schon DP9 angezeigt wird.


Hast Recht: habe die Versionsinfos falsch interpretiert. Meine Version ist DP9, basierend auf Java 1.6.0_04.

Googlen nach "SoyLatte" und "SWT" macht mich auch nicht wirklich hoffnungsfroh ;)
 
Ja, da sieht man wieder das NetBeans/Swing doch besser ist :D *scnr*

Warum willst du Eclipse unbedingt in der 6er-VM betreiben? Kannst es doch auch in der 5er-VM nutzen und 6er-VM als Entwicklungs-VM setzen.
 
Langsam Leute, man kann sehr schön mit Eclipse und Java6 entwickeln. Nur die IDE muss mit Java5 gestartet werden. Man kann aber dem Workspace oder einem Projekt ein anderes JRE zuweisen und da das 6er angeben. (Eclipse->Preferences->Java->Installed JREs für den Workspace, an entsprechender Stelle auch in den Einstellungen des Projekts). Zusätzlich kann man auch unabhängig davon einem Workspace oder Projekt den Compiler einstellen, den Eclipse verwendet. Der ist unabhängig vom installierten Eclipse. Eclipse bringt seinen eigenen mit. Nur zum Ausführen von 6er Code ist das 6er JRE nötig, falls daraus Klassen verwendet wurden (eg. Console).

Die meisten Veränderungen in Java6 im Vergleich zu Java5 lassen sich durch externe Bibliotheken nachrüsten. Es sind nur ein paar Convenienve-Klassen in die RT aufgenommen worden. Darum verstehe ich auch das Gejammer nicht, das hier immer um J6 gemacht wird...
 
  • Gefällt mir
Reaktionen: pdr2002
Das ist mir alles klar, kein Problem :) Es geht hier eher ums Prinzip und eine Perspektive.

Dann hilf mir mal auf die Sprünge. Welches Prinzip und welche Perspektive? Dass Apple derzeit kein finales J6 anbietet ist bekannt. Dass das auch noch eine Weile so bleibt, auch. Dass die Jungs von SWT keinen 64Bit-Port für Cocoa herausbringen, solange Apple kein stabiles J6 herausbringt ist ebenso wahrscheinlich. Aus den Gründen, die ich oben schon ausgeführt hab, sehe ich derzeit auch nur begrenzt einen Bedarf dafür.

Wie gesagt, so ganz verstehe ich das andauernde Gejammer um J6 nicht. Vielleicht kann mir da ja mal einer helfen? Geht es nur darum dass (eval(5<6) == true)?
 
__ebm__ schrieb:
Geht es nur darum dass (eval(5<6) == true)?

Nun das sicher auch. Es gibt aber auch Leute die z.B. sagen Netbeans sei nur auf Mac OS so behäbig und würde auf anderen Systemen mi J6 deutlich zügiger zu Wege gehen. Es hat ja einen Grund, warum man ab Java6 mit dem "aufräumen" begonnen hat.

Du hast aber recht, Eclipse läuft prima mit Java5 und Java6-Projekte zu nutzen ist kein Problem.
 
Also Apple arbeitet ja an Java6. Sieht man doch im ADC-Bereich. Gibt ja nur noch wenige Sachen die nicht funktionieren. Ob noch 32bit raus kommt, wird man ja sehen. Man sollte ja nie vorher etwas verteufeln.

Auch sieht man das sie bemüht sind Java besser in OS X zu integrieren, Dock-Icon, AppleScript in der Script-Engine, etc.. So z.B. die auflösungsunabhängige Oberfläche.

Das braucht halt Zeit.

Ich würde mir zwar eher wünschen das sie sich mit dem OpenJDK-Projekt mergen, aber nunja, man kann nicht alles haben. ;) Java 7 dauert ja eh noch etwas. Die sind momentan eh damit beschäftigt das OpenJDK aufzuräumen, massenmerging etc. ;)
 
Ich häng mich mal hier rein. Aktuell habe ich ein Java 1.6 Projekt, dass unter Eclipse bearbeitet werden soll und im Tomcat 6 laufen soll. Ich denk mir das jetzt so:

- An den Java-Standard-Einstellungen nichts ändern
- In Eclipse die JVM 1.6 einrichten und den Compiler Compliance Level auf 1.6 setzen
- Irgendeine Umgebungsvariable setzen, so dass Tomcat 6 mit Java 1.6 gestartet wird und nicht mit der Standard 1.5er Variante

Meine 2 Fragen dazu sind:

1. Ist das Vorgehen so ok?
2. Wie genau würde ich meinem System beibringen, dass es für Tomcat 6 nun Java 6 benutzen soll?
 
1. Ist das Vorgehen so ok?
2. Wie genau würde ich meinem System beibringen, dass es für Tomcat 6 nun Java 6 benutzen soll?

1. Ja, schon
2. Kommt drauf an, wie Du den Tomcat startest: Wenn Du es "per Hand" machst, änderst Du einfach die Skripte unter [TOMCAT_HOME]/bin entsprechend (sofern Du nicht JAVA_HOME=1.6 verwendest), ansonsten über das entsprechende PlugIn - ich verwende das von Sysdeo, weiß aber nicht, ob das auf dem Mac und mit Tomcat 6 überhaupt läuft...
 
Danke. Hat auch alles soweit geklappt. Hab in die catalina.sh
Code:
JRE_HOME="/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/"
eingetragen und es funktioniert tadellos.
 
Ich habe folgendes Problem
Ich benutze eclipse C/C++ und beim ausführen bekomme ich so eine Meldung
"Launch failed. Binary not found."
Kann mir jemand damit helfen

vielen dank
 
Ich sehe auch keinen Grund für Java6. Ich arbeite noch mit Java5 und mir hat es bisher an nichts gefehlt. Mach nicht viel mit Swing, wo es wohl die meisten Neuerungen gab.
 
Hallo,

ich bin seit paar Tagen endlich in der Mac-Welt angekommen ;)
Nun habe ich aber ein Problem: ich arbeite an einem Programm, das nur unter Java 6 läuft. Ich könnte es allerdings auch auf Java 5 kompilieren, wenn ich ein paar ältere Dependencies einstelle. Dann läuft das ganze aber wieder nicht auf einem Java 6 Rechner.
Da ich aber darauf angewiesen bin, dass das auf einer Java 6 Version laufen soll, muss ich eben auch die 6er VM benutzen. Soweit so gut. Leider ist die Oberfläche mit SWT programmiert worden, d.h. ich hab das Problem, das Carbon unter OS X 10.5 nicht läuft.

Was mach ich da am beten? Ich hab schon gegoogelt und keine Lösung gefunden.

Viele Grüße,


sutcha
 
An welchen Stellen hängt es denn, ein für Java5 übersetztes Programm mit Java6 auszuführen? Die VM sind doch allesamt abwärtskompatibel. Nutze doch weiterhin Java5, wenn du SWT nutzt (solange der Cocoa-Port nicht fertig ist)!
 
An was es genau liegt, weiß ich auch nicht genau. Ich habe ein Programm bekommen, das ich weiterentwickeln sollte. Da alle Entwickler Java 5 benutzt haben und ich Java 6 installiert hatte, haben wir den Fehler entdeckt. Das Programm lief auch unter Java 6 nicht.
Beim kompilieren sind mir, soweit ich mich erinnern kann, Exceptions bzgl AspectJ um die Ohren geflogen. Mit Java 5 hat alles wunderbar funktioniert. Also habe ich neue Libraries geladen und dann lief es endlich mit Java 6 aber nicht mehr mit 5.

Übrigens bekomm ich den Fehler beim Start der Anwendung aus Eclipse raus:

Caused by: java.lang.UnsatisfiedLinkError: no swt-carbon-3042 in java.library.path

Hab dazu nichts vernünftiges gefunden, außer dass carbon mit 64-Bit nicht läuft. Hab gerade die VM auf 5 gestellt, nur um zu testen, und die Meldung kommt auch.
 
Mit AspectJ hab ich noch nie gearbeitet, kann das also nicht nachvollziehen. Bei uns auf Arbeit wird gemischt entwickelt. Einige entwickeln mit Java6, andere mit Java5. Dabei sind Features von 6 tabu. Probleme treten trotz einer inzwischen längeren Liste an Bibliotheken nicht auf.

Was deinen Fehler angeht: Mit welcher SWT-Version arbeitest du? Für mich sieht das nach einer alten aus. Da konnte noch nicht auf die JNI-Libs aus dem JAR zugegriffen werden.
 
Wir benutzen nur Teile von SWT, die wir in bestimmte JARs gepackt haben, alles aus der Version 3.3.1.
Ich hab für Mac OS nur die entsprechende Dependency hinzugefügt.

btw: Kennst du dich mit Maven aus? In der pom.xml ist für Linux und Windows ein Profil angelegt, für die SWT-Dependencies. Würde gerne eins für Mac OS erstellen, nur weiß ich nicht, was ich als OS eingeben soll bzw. welche Namen Maven akzeptiert.
 
Zurück
Oben Unten