Haut de page

Java


Quoi de neuf ?


Faire cohabiter Java 1.6 et 1.7 sur MacOS X 10.7

Les deux versions de java sont installées dans le répertoire /usr/bin/javac -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac

% export JAVA_HOME=`/usr/libexec/java_home -v '1.6*'` % java -version java version "1.6.0_37" Java(TM) SE Runtime Environment (build 1.6.0_37-b06-434-11M3909) Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01-434, mixed mode) % export JAVA_HOME=`/usr/libexec/java_home -v '1.7*'` % java -version java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode)


Java 1.7.0_07-b24

Cette version fait suite à un gros trou de sécurité

Java 1.7.0_06-b24

Cette version téléchargée (Java Platform (JDK)) sur chez Oracle contient maintenant son propre système de mise à jour. Ce système n'est pas très beau. Il passe par une Préférences Système qui lance un programme Panneau de configuration Java dont l'interface est "à la java".

L'utilitaire Préférences Java permet encore de sélectionner entre la version 1.7.0_04 et 1.7.0_06. Cela se fait via un petit menu local, difficile à voir dans la colonne version.
Tous les onglets Sécurité, Réseau, Options avancées ainsi que les Options de paramètre de moteur d'exécution de l'applet ont disparu.

Dans le Panneau de configuration Java, onglet Java puis bouton Visualiser..., on obtient quelque chose qui ressemble à L'Utilitaire Préférences Java mais cela ne semble pas changer l'ordre des différents Java (cf java -version dans le Terminal).

Il est possible de supprimer une version complète de Java 7 en mettant à la corbeille le fichier .jdk dans /Library/Java/JavaVirtuelMachines/.
Truc: Un double clic sur la version de Java dans l'utilitaire Préférences Java amène au fichier utilisé.

Java 1.7.0_04-b21

Première version gérée par Oracle. Une fois téléchargée (Java Platform (JDK)) sur chez Oracle, l'installer et aller dans l'Utilitaire Préférences Java pour sélectionner l'ordre des machine virtuelle. Mettre Java SE 7 en premier et décocher les autres. Cela peut-être fait pour indépendamment pour chaque utilisateur.


Java 1.5.0_05

Java 2 Platform Standard Edition (J2SE) 5.0 Release 3 version 1.5.0_05.

La version 1.4.2 est toujours disponible. Pour changer de version active, il faut utiliser l'utilitaire Java Préférences qui se trouve dans le dossier Java:J2SE 5.0 du dossier Utilitaires.
il est possible :

Pour utiliser java en ligne de commande, voir par exemple des explications sur http://www.al3ss.com/articles/java5/

Java 1.4.2_09

Java 1.4.1 update 1

java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-69.1)
Java HotSpot(TM) Client VM (build 1.4.1_01-24, mixed mode)

Java 1.4.1

java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-39)
Java HotSpot Client VM (build 1.4.1_01-14, mixed mode)

La mise à jour Java 1.4.1 apporte les améliorations suivantes :

Voir les numéros de version des composants systèmes de MacOS X.

Pour plus d'informations concernant cette mise à jour, visitez le site http://www.apple.com/java/

Java 1.3.1

À propos de la mise à jour 1 de Java 1.3.1

Cette mise à jour améliore les composants de texte, de souris et d'impression de l'implémentation Java 1.3.1 pour Mac OS X, ainsi que la stabilité et la compatibilité d'ensemble.
L'implémentation des composants de texte a été complètement mise à jour, ce qui a permis de résoudre quelques problèmes détectés lors de l'utilisation des zones et des champs de texte TextAreas et TextFields.
Le comportement de la souris a été amélioré, en particulier pour les événements impliquant le glissement d'éléments dans des applications complexes.
De nombreux problèmes d'impression ont été résolus, notamment les coupures et l'impression de pages multiples.
Pour plus de détails, consultez les notes de mise à jour sur le site (en anglais) :

Configuration requise
Cette mise à jour Java requiert Mac OS X 10.1.3 ou une version ultérieure.


Macintosh Runtime for Java (MRJ)

Dans * Development:Java:

MRJMac OS Runtime for Java™ (MRJ) est l'environnement d'exécution d'Apple pour Java (Technologie de Sun Microsystems, Inc). MRJ permet d'inclure les fonctionnalités Java dans les applications Mac OS. Ces applications peuvent alors exécuter des Applets Java et des applications Java.

MRJ 1.0 comprends:

voir site d'Apple: http://applejava.apple.com/HorsSite


MRJ 2.2.5

MRJ 2.2.5 corrige des problèmes de cache dans les JAR (voir JAR cachingHorsSite). Amélioration du réseau et support des noms de fichiers encodés sur deux caractères.
Le fichier MRJ Cache est mis dans le support aux applications au lieu des préférences.


MRJ 2.2.4

Mise à jour de la 2.2.3 qui corrige un problème de sécurité. Dans certains cas, les applets pouvaient accéder au disque dur local.


MRJ 2.2.3

L'interpréteur Java pour Mac OS version 2.2.3 est une mise à jour de la version 2.2.2 qui perfectionne l'utilisation de la mémoire et fournit des améliorations de performances substantielles aux utilisateurs accédant régulièrement aux mêmes fichiers JAR via un réseau. Cette version permet également de corriger plusieurs problèmes qui affectaient les utilisateurs de systèmes internationaux bi-octet.


MRJ 2.2.2


MRJ 2.2


MRJ 2.1.4


MRJ 2.1.3


MRJ 2.1.2

Corrige des problèmes de sécurité rapportés par Sun.


MRJ 2.1.1

C'est une mise à jour de MRJ 2.1.


MRJ 2.1

la version finale correspond au Sun JDK 1.1.6

L'installation de MRJ 2.1 va mettre

Attention: l'installation sur un système non US, l'installeur de reconnaît pas l'extension "Conversion encodages texte" et les fichiers dans le dossier "Encodages texte". A titre transitoire, vous pourrez trouver les fichiers en version 1.4.2 US (Text Encoding Converter 1.4.2) et la version Française de Mac OS 8.5 (Encodages texte 1.4) dans le répertoire * Development:Java:

la version Early Access 3 (pre-release) correspond au Sun JDK 1.1.6
(date d'expiration 1er janvier 1999)

Attention: l'installation sur un système non US; Il faut vérifier qu'il n'y a pas deux versions dans les extension de 'Text Encoding Converter' (Conversion encodages texte) (garder la plus récente). Vérifier aussi dans le dossier système 'Text Encodings' (Encodages texte).

la version Early Access 2 (pre-release) correspond au Sun JDK 1.1.6
(date d'expiration 1er novembre 1998)

MRJ permet d'exécuter les applications Java via Apple Applet Runner ou Microsoft Internet Explorer.

Quoi de neuf ?

MRJ 2.1 n'a plus besoin de MRJ 2.1EA1 MW Debugging Fix qui se trouvait dans les extensions, il est supprimé lors de l'installation. Si vous le trouvez encore, il faut le supprimer manuellement.

la version Early Access 1 (pre-release) correspond au Sun JDK 1.1.5

Voir Aussi CodeWarrior Pro 3 debugging fix for MRJ2.1ea1.

MRJ 2.0

MRJ 2.0 est l'implémentation d'Apple's du JDK 1.1.3 de JavaSoft: Java runtime et l'ensemble des classes Java de Sun ainsi que des classes nécessaires pour le Macintosh.

MRJ 2.0 est basé sur MRJ 1.0.2 étendu pour supporter les nouvelles fonctionnalités du JDK 1.1.3.

Pour fonctionner, il nécessite:

Quoi de neuf:


MRJ SDK
C'est le système de développement associé à MRJ.

Version 2.1[Commentaires de Patrick Barril]

La trousse contient des outils, mais aussi, grande première, de la documentation (c'est la documentation qui a retardée la sortie), entre autre,

Les performances sont plus qu'honorable et les faiblesses souvent dues à Mac OS (par exemple, la gestion des fichiers) plus qu'à MRJ. Les bogues connues ne sont pas tres gênantes, la date de la mise-à-jour 2.1.1 (JDK 1.1.7) n'est pas connue. L'équipe d'Apple travaille pour la version de Java sous MacOS X.

La portabilité est bonne : HotJava (le browser de Sun), des serveurs Web (Jigsaw, vqServeur) ainsi que des servlets ou des beans tournent sur Mac. Par contre, la documentations JavaDoc décompréssée produit des noms de fichier de plus de 31 caractères qui sont tronqués sur Mac. J'utilise IceBrowser (http://www.icesoft.no/) dont le protocole jam:// permet de lire des fichiers dans une archive zip, ou ZipSight (dans CodeWarrior, mais qu'il faut patcher) qui sert des fichiers dans une archive zip.

La version 2.0.1 est une version stable.

MRJ SDK permet :

Version 1.0b4

C'est le système de développement associé à MRJ. La version 1.0b4 marche avec MRJ 1.0 pour PowerPC et MRJ 1.0b4 pour 68K. Il comprends des interfaces de l'environnement d'exécution permettant de:


CaffeineMarks 3.0

Pentium II/400

Netscape Navigator

2718

Internet Explorer

3898

PowerPC G3/300

Mac OS 8.0 (MRJ 1.x)

212

Mac OS 8.1 (MRJ 2.0)

932

Mac OS 8.5 (MRJ 2.1)

3107 (+791 espérés avant la sortie du 8.5)

Mac OS 8.5.1 (MRJ 2.1.2)

6096

Test effectués à l'INRIA en janvier 1998

Résultats CaffeineMarks 3.0 sous Linux (Pentium, PPC), Solaris (Sparc), ou Digital Unix (Alpha) (compilateur javac, en java, de la livraison jdk1.1.3):

Processeur

Fréquence

Système

SunJDK

SunJDK+JITC

Macintosh PowerPC

250

MkLinux

246

3399

Sun Ultra Sparc

2*200

Solaris

268

2962

Digital Alpha

500

Digital Unix

272

2799

Macintosh PowerPC

120

MkLinux

128

1652

Pentium II

266

Linux

409

1098

Sun Ultra Sparc

150

Solaris

146

1027

Pentium

90

Linux

37

226

Résultats en compilation d'un petit projet java sous Linux (Pentium, PPC), Solaris (Sparc), ou Digital Unix (Alpha) (compilateur javac, en java, de la livraison jdk1.1.3):

Processeur

Fréquence

Système

Temps

Puissance/MHz

Macintosh PowerPC

250

MkLinux

9,07

339%

Macintosh PowerPC

120

MkLinux

20,4

315 %

Sun Ultra Sparc

2*200

Solaris

6,9

276 %

Digital Alpha

500

Digital Unix

6,8

223 %

Pentium II

266

Linux

16

177 %

Pentium

90

Linux

85,7

100 %


MRJ JITC (Just-In-Time Compiler)

Le compilateur à la volée pour MRJ améliore grandement les performance du MRJ. La librairie " MRJ JITC for PPC" doit être mise dans le dossier "MRJ Librairies" du dossier "Extensions" du dossier Système. Il faut avoir installé MRJ 1.0.1 auparavant.

Le MRJ JITC sera inclus à partir de la version MRJ 1.5.

Note: la version 1.0 build 16 est plus récente que la version 1.5a1c6.


Swing

Swing est un produit de Sun Microsystems et peut-êtr téléchargé à l'adresse http://java.sun.com/jfc/ . Vous pouvez télécharger soit la version stable 1.0.3 soit la 1.1Beta2 (meilleur Look and Feel Macintosh).
L'installation consistera à placer le fichier swingall.jar dans Dossier Système:Extensions:MRJ Libraries:MRJClasses:


JDK 1.1

Le JDK (Java Development Kit) 1.1 est un environement de développement d'applications d'entreprise proposé par Java Computing (Sun). Le JDK 1.1 offre l'accès aux données, le développement d'interfaces graphiques et l'assemblage de composant distribués.

JDBC

L'accès aux données est un domaine dans lequel Java apporte des avantages substanciels. Avec la disponibilité de JDBC (Java Data base Connectivity), Java permet à une application d'interagir avec une base de données. Le modèle JDBC est assez proche de ODBC (Object Data Base Connectivity) de Microsoft. Il autorise le transport de requêtes SQL. Sun inclut dans le JDK une interface JDBC-ODCB.

AWT

L'AWT (Abstract Windows Toolkit) de Java est constitué par l'ensemble des bibliothèques de réalisation d'interfaces graphiques portables.
La conception de celles-ci est simplifiée par les composants Java Beans. Dans le JDK 1.1, des classes ont été ajoutées apportant des nouveautés comme un meilleur support graphique des images.

RMI

RMI (Remote Method Invocation) du JDK 1.1, est un mécanisme qui rend possible l'appel des applications Java entre elles. Il permet l'invocation de méthodes à distance, et donc la communication entre objets Java sur des machines différentes. RMI se retrouve à la base de certains produits Java comme les servlets (applet Java pour serveurs), le composants Java Beans, l'API d'administration de systèmes JMAPI et l'API JECF pour le commerce électronique.
RMI, qui n'autorise la communication qu'entre objets Java, un un concurrent de DCOM (Distributed Comon Object Model) de Microsoft.

JRI, JNI

JRI (Java Runtime Interface) a été conçu par Netscape pour permettre un accès direct au code natif. Sun a ensuite introduit un mécanisme plus complet - JNI - (Java Native Interface) dans je JDK 1.1.x.
Pour des raisons de compatibilité, MRJ 2.1 continue à supporter JRI. Cependant les versions futures de MRJ ne le supporteront plus. Il est conseillé soit de passer à JNI, soit à JDirect. Cela permettra un meilleur 'ramasse miette' et des optimisations pour les compilateurs à la volée.


Installation de MRJ

Qu'est-ce qu'installe MRJ 2.1EA2 ?

Qu'est-ce qu'installe MRJ 1.x ?

Si OpenDoc est installé, MRJ installe aussi:

L'exécution d'Apple Applet Runner va créer un fichier de préférence nommé "Apple Applet Runner Prefs". Dans les versions précédentes, ce fichier se nommait "Applet Runner Prefs". Il faut le supprimer manuellement si il existe sur votre disque.


Historique

16 Janvier 1997
MRJ 1.0b3.

22 Janvier 1997
MRJ 1.0

pour PowerPC, de la version 1.0b4 pour 68K et du MRJ SDK 1.0b4.
MRJ 1.0 implémente la version 1.0.2 de l'environnement d'exécution Java de Sun.

3 Mars 1997

La première partie des API de Java Media Framework sont disponible chez sunHorsSite, la version finale est prévue pour fin avril.

31 Mars 1997

disponibilité de MRJ 1.0.1 pour PowerPC, 68030 et 68040.
TelechargerInstallation US
Le MRJ SDK 1.0.1 sera disponible dans la semaine.

10 Avril 1997

Compilateur à la volée pour Macintosh Runtime for Java (MRJ JITC) 1.0 build 16
OuvrirOuvrir dossier Developpement Java

16 Avril 1997
MRJ 1.0.2

MRJ 1.0.2 est l'implémentation d'Apple's du JDK 1.0.2 de JavaSoft.

MRJ 1.0.2 est disponible sur 68030 ou 68040 et PowerPC. A partir du Système 7.5 et de 8 Mo de mémoire (16 Mo recommandé).

Apple Applet Runner nécessite OpenDoc 1.0.4.

Pour l'utilisation à travaer Internet, il faut MacTCP 2.0.4 ou Open Transport 1.1.

30 Mai 1997
MRJ 1.5b1

30 Mai 1997
MRJ 2.0d2 pour PowerMac

Version pour développeurs uniquement. Cette version contient :

L'installation consiste à mettre un dossier "MRJ Libraries" dans les extensions du système, ce dossier contient:

5 Juin 1997
Sun publie les API Java 3D

voir annonce de Sun.HorsSite

29 Août 1997
Apple/Microsoft: Machine virtuelle compatible

D'après Will Iverson, Java product manager chez Apple, cet accord élargit la stratégie Java d'Apple sans en changer la direction. Voici le texte de sa brève interview:

Q: Apple continuera t'elle à développer MRJ ?
R: Apple a l'intention de continuer à développer MRJ maintenant et dans le futur. La technologie Microsoft sera incorporée uniquement pour assurer la compatibilité Windows comme un sur-ensemble de Java.
Q: Est-ce qu'Apple continuera à supporter le 100% pur Java ?
R: Oui. Nous avons l'intention de supporter toutes les initiatives 100% pur Java ?
Q: Est-ce qu'Apple supportera les autres extensions Microsoft de Java ?
R: Il est encore trop tôt pour répondre précisément à cela. Ce sera annoncé avec plus de détails plus tard.
Q: Est-ce qu'Apple livrera la machine virtuelle Microsoft/Metrowerks à la place de MRJ ?
R: Nous n'avons aucun plan en ce sens. Apple a l'intention de continuer à développer MRJ comme une fonction clef de la plate-forme Mac OS. MRJ est inclus dans Mac OS 8, nous allons l'améliorer et l'intégrer avec Mac OS.

31 Juillet 1997
MRJ 1.5

MRJ 1.5 est une mise à jour majeure MRJ 1.0.2 qui améliore les performance graphique de Java sur MacOS. Il inclue le compilateur à la volée d'Apple sur PowerPC. Le compilateur à la volée pour 68030 et 68040 est en développement.

11 Mars 1998
Accord Apple-Microsoft autour de Java

Comme prévu le 29 Août dernier, Apple et Microsoft ont annoncé leur objectif de faire converger leurs technologies Java sur Macintosh pour créer une seule machine virtuelle Java pour Mac OS. Cette version unifiée sera basée sur MRJ et incorporera un ensemble de technologies Microsoft pour Java. Ce regroupement permettra une meilleure interopérabilité de Java entre Mac OS et Windows.

Microsoft espère intégrer certains aspects de JDirect dans MRJ. Cela permettrait aux développeurs d'accéder aux capacités natives de Mac OS. [NDJL : cela éloignera aussi la portabilité totale de Java !!!]. Quand cela sera effectif, Microsoft Internet Explorer se servira exclusivement de MRJ. [NDJL: Actuellement, Microsoft Internet Explorer permet de choisir sa machine virtuelle contrairement à Netscape Navigator/Communicator].

[NDJL: Afin d'être totalement non portable] L'incorporation de J/Direct permettra des accès à QuickDraw, aux AppleEvent, aux menus contextuels, au Glisser déplacer et aux polices TrueType.

Les compagnies intégreront 'Security Zones' la technologie d'administration sécurisée pour Java de Microsoft.

Pour le degoguage, les API de deboguage de machine virtuelle de Microsoft seront parfaitement intégrées à CodeWarrior. Il sera aussi possible de faire du deboguage cross langage.

24 Mars 1998
QuickTime for Java

[24 mars 1998] QuickTime for Java permet au développeur Java de créer des applications Java utilisant la puissance de QuickTime sur Macintosh et Windows. QuickTime for Java presente les API de QuickTime 3.0 comme un ensemble de classes Java. QuickTime for Java supporte Mac OS Runtime for Java (MRJ) sur le Macintosh et Sun JDK 1.1 sur Windows NT et Windows 95.
[NDJL].... on reste dans la portabilité... mais que fait Sun. Tiens il y a support de Sun JDK, je croyais que Microsoft avait développé le sien. Sachant que QuickTime inclus quickDraw 3D, cela va faire aussi plaisir à Microsoft.

11 Mai 1998
Apple rachète le compilateur à la volée de Symantec

Il sera intégré à MRJ cet été. On attend une amélioration de performance de l'ordre de 300%.

10 février 1999
MRJ 2.1 intègre le compilateur à la volée de Symantec

22 Mars 1998

QuickTime for Java est disponible


Voir aussi

JavaWorld, AppleJava, CaffeineMark, Java home page, Microsoft technologies for Java, Roasted Java news, WebBurst, ActionLine, Visual Cafe, http://www.apple.com/macos/java
FAQ pour le développement MRJ
http://til.info.apple.com/techinfo.nsf/artnum/n75097/

voir aussi les appletshttp://www.gamelan.com/>, http://www.jars.com/>, http://trp.research.apple.com/> http://developer.apple.com/techpubs/java/>

Bringing you Java Application to MacOS X http://developer.java.sun.com/developer/technicalArticles/JavaLP/JavaToMac/>

1997-2013



FutureShare

 | 

Glossaire

 |