OVH Cloud OVH Cloud

Applet java MacOS X etcache ???

10 réponses
Avatar
yvon.thoravalNO-SPAM
Bonsoir,

si dans un source d'Applet java je change des images, et que je
recompile, c'est toujours les mêmes images qui apparaissent...

il me faut REBOOTER pour voir apparaître les nouvelles images ???

normal ?

même si je fais, dans Safari, Réinitialiser Safari ou + simplement Vider
le cache...

Camino, qui, de temps en temps marche + ou - bien sur cet Applet,
m'affiche qqfois :

java.lang.UnsupportedClassVersionError: Concat (Unsupported major.minor
version 48.0)

???

--
yt

10 réponses

Avatar
bernard tatin
Yvon Thoraval wrote:
Bonsoir,

si dans un source d'Applet java je change des images, et que je
recompile, c'est toujours les mêmes images qui apparaissent...

il me faut REBOOTER pour voir apparaître les nouvelles images ???

normal ?

même si je fais, dans Safari, Réinitialiser Safari ou + simplement Vider
le cache...

Camino, qui, de temps en temps marche + ou - bien sur cet Applet,
m'affiche qqfois :

java.lang.UnsupportedClassVersionError: Concat (Unsupported major.minor
version 48.0)

???

Si j'ai bien compris, tu compiles une applet, tu la teste une première

fois, tu as un résultat. Tu la compiles une deuxième fois avec des
changements visibles, tu vois toujours le résultat précédent.

Mozilla et Firefox sont mieux pour cela. C'est un problème indépendant
du système d'exploitation. On le retrouve avec Windows ou Linux. Le
serveur HTTP et sa configuration doivent aussi jouer un rôle.

Ce dont je me souviens, c'est que le browser demande au serveur si la
page HTML (celle qui contient l'applet) a été modifiée récemment. Le
serveur lui répond que non, alors le browser se contente de ce qu'il a
en cache, applet comprise. Le fait de modifier la feuille HTML aide un
peu. Je dis un peu, parce que l'applet est déjà dans le cache et, selon
les browsers, les actions et les décisions sont variables. Mais ils not
tendance à estimer qu'une applet change moins souvent que du HTML.

Par contre, l'erreur que donne Camino, je ne vois pas.

Bernard.

Avatar
yvon.thoravalNO-SPAM
bernard tatin wrote:


Mozilla et Firefox sont mieux pour cela. C'est un problème indépendant
du système d'exploitation. On le retrouve avec Windows ou Linux. Le
serveur HTTP et sa configuration doivent aussi jouer un rôle.


OK, j'essaierai ces deux là, pas pratique d'avoir à re démarrer ;-)

Ce dont je me souviens, c'est que le browser demande au serveur si la
page HTML (celle qui contient l'applet) a été modifiée récemment. Le
serveur lui répond que non, alors le browser se contente de ce qu'il a
en cache, applet comprise. Le fait de modifier la feuille HTML aide un
peu. Je dis un peu, parce que l'applet est déjà dans le cache et, selon
les browsers, les actions et les décisions sont variables. Mais ils not
tendance à estimer qu'une applet change moins souvent que du HTML.


Là j'utilisais, je suppose, le Finder (donc lentissime) comme serveur
because c'est en cliquant sur l'icone de la page html que je lançait mon
Applet. Je n'ai pas activé Apache sur cette bécanne.

Par contre, l'erreur que donne Camino, je ne vois pas.


Une solution me suffit, dans le code il n'y a pas d'erreur, c'est un
exemple qui marche bien avec Safari (avec les pbs de cache), exemple
provenant d'un site sun sur java2d.

Merci beaucoup pour cette réponse.
--
yt

Avatar
bernard tatin
Yvon Thoraval wrote:


Là j'utilisais, je suppose, le Finder (donc lentissime) comme serveur
because c'est en cliquant sur l'icone de la page html que je lançait mon
Applet. Je n'ai pas activé Apache sur cette bécanne.

Pour bien tester des applets, il vaut mieux passer soit par un serveur,

soit par un 'lanceur' d'applet. J'ai fais beaucoup de JBuilder sous
Windows. Lorsqu'on développe une applet et qu'on veut la tester en
faisant un 'run' depuis JBuilder, il utilise son propre 'lanceur'
d'applet. Et tout ne fonctionne pas bien dans ce cadre, en particulier
les accès aux bases de données, les socket, etc ...

Dans le répertoire de Java, il doit y avoir un 'appletviewer' qui fait
bien cela.

Bernard.

Avatar
yvon.thoravalNO-SPAM
bernard tatin wrote:

Pour bien tester des applets, il vaut mieux passer soit par un serveur,
soit par un 'lanceur' d'applet. [...]


Ok, effectivement, où avais-je la tête ?

Dans le répertoire de Java, il doit y avoir un 'appletviewer' qui fait
bien cela.


Il est dans /Applications/Utilities/Java et se nomme "Applet Launcher"

dans certains cas j'ai droit à un "Démarrer : applet non initialisé"

qu'ais-je oublié ?

le "html" :
<applet code="Concat.class" codebase="." archive="concat.jar"
height="400" width="550">

le main java :

public static void main(String s[]) {
JFrame f = new JFrame("Concat");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JApplet applet = new Concat();
f.getContentPane().add("Center", applet);
applet.init();
f.pack();
f.setSize(new Dimension(550,550));
f.show();
}

le manifest (généré par ant) :

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.1
Created-By: 1.4.2-38 ("Apple Computer, Inc.")
Main-Class: Concat
Class-Path: concat.jar


En fait cet Applet provient d'un exemple Sun sur java2d...
je n'y ai changé que les images...
--
yt

Avatar
no.bcausse.spam
Yvon Thoraval wrote:

bernard tatin wrote:

Pour bien tester des applets, il vaut mieux passer soit par un serveur,
soit par un 'lanceur' d'applet. [...]


Ok, effectivement, où avais-je la tête ?

Dans le répertoire de Java, il doit y avoir un 'appletviewer' qui fait
bien cela.


Il est dans /Applications/Utilities/Java et se nomme "Applet Launcher"

dans certains cas j'ai droit à un "Démarrer : applet non initialisé"

qu'ais-je oublié ?

le "html" :
<applet code="Concat.class" codebase="." archive="concat.jar"
height="400" width="550">

le main java :

public static void main(String s[]) {
JFrame f = new JFrame("Concat");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JApplet applet = new Concat();
f.getContentPane().add("Center", applet);
applet.init();
f.pack();
f.setSize(new Dimension(550,550));
f.show();
}

le manifest (généré par ant) :

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.6.1
Created-By: 1.4.2-38 ("Apple Computer, Inc.")
Main-Class: Concat
Class-Path: concat.jar


En fait cet Applet provient d'un exemple Sun sur java2d...
je n'y ai changé que les images...


peut etre une confusion?

le code html c'est pour un applet (init, start ect), le "main" pour un
programme autonome.
--
bruno Causse
http://perso.wanadoo.fr/othello


Avatar
yvon.thoravalNO-SPAM
Causse Bruno wrote:


peut etre une confusion?


Sans doute, je n'utilise pas les Applets en règle générale, c'est ici
seulement un tuto java2d qui utilise des Applets...

le code html c'est pour un applet (init, start ect), le "main" pour un
programme autonome.


dans le html il n'y a rien que ce que j'ai donné + haut, je précise que
le code java aussi bien qu'html provient de Sun soi-même.

Dans le code java il y a bien un init() mais pas de start() et un
main(), je ne vois d'ailleurs pas comment ces Applets marcheraient sans
le main() (c'est lui qui lance applet.init())...

Le main est d'ailleurs inutilisable autrement qu'en Applet because il y
a dans le code de certaines méthodes un getCodeBase()...
--
yt

Avatar
no.bcausse.spam
Yvon Thoraval wrote:

Dans le code java il y a bien un init() mais pas de start() et un
main(), je ne vois d'ailleurs pas comment ces Applets marcheraient sans
le main() (c'est lui qui lance applet.init())...

Le main est d'ailleurs inutilisable autrement qu'en Applet because il y
a dans le code de certaines méthodes un getCodeBase()...


je me repete, les applets n'ont pas besoin de "main" pour etre lancé,
mais un autre programme superviseur (browser ou appletviewer).

un programme autonome (main) peut lui utiliser un objet applet, mais ce
n'est pas un applet c'est un programme.

dans certain cas le meme code peut etre utilisé comme applet ou
programme autonome je pense que c'est ton cas (Concat extends JApplet).

ps: ton programme possede bien une methode start (objet applet) mais non
redefini

a+
--
bruno Causse
http://perso.wanadoo.fr/othello

Avatar
yvon.thoravalNO-SPAM
Causse Bruno wrote:

ps: ton programme possede bien une methode start (objet applet) mais non
redefini


Tu veux dire que le start() est implicite dans ce cas ?

J'ai essayé de lancer Concat en command line :

java -cp concat.jar Concat
Exception in thread "main" java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Applet.java:136)

C'est pourquoi je trouve curieux ce main non utilisable...


En fait, j'ai downloadé des exemples ( 9 en tout) de chez Sun qui ne
marchent pas correctement :

- certains seulement avec Safari (mais reboot pour changer qqc)
- d'autres aussi avec l'Applet Viewer mais pas tous (Démarrer : applet
non initialisé);
- qq uns en command line
- certains, assez rares, avec FireFox et/ou Camino

En fait je ne m'intéresse pas à l'aspect Applet mais seulement aux demos
incluses dans ces Applets-là...
--
yt

Avatar
no.bcausse.spam
Yvon Thoraval wrote:

ps: ton programme possede bien une methode start (objet applet) mais non
redefini


Tu veux dire que le start() est implicite dans ce cas ?


si tu lances l'applet (browser ou appletviewer, laucher ect), oui c'est
la methode start() de la class applet qui sera appelé.

java -cp concat.jar Concat
Exception in thread "main" java.lang.NullPointerException
at java.applet.Applet.getCodeBase(Applet.java:136)

C'est pourquoi je trouve curieux ce main non utilisable...


getCodeBase() n'a pas de sens sur un programme autonome.

--
bruno Causse
http://perso.wanadoo.fr/othello


Avatar
yvon.thoravalNO-SPAM
Causse Bruno wrote:


getCodeBase() n'a pas de sens sur un programme autonome.



Bon, merci pour ces infos qui me laissent dubitatif sur le code utilisé
par Sun...
--
yt