2010-06-17 9 views
1

Comment distribuez-vous d'autres fichiers nécessaires à votre application et qui ne se trouvent pas dans un fichier jar? Par exemple, l'application au http://www.javabeginner.com/java-swing/java-swing-shuffle-game. Le téléchargement contient Shuffle.jar, Shuffle.bat, Score.dat, et un dossier d'images avec 3 images dedans. Je peux voir éventuellement mettre les images directement dans Shuffle.jar, mais vous ne voudriez pas mettre Score.dat dans le fichier jar car il change. Y at-il quelque part vous pourriez identifier ce type de fichier dans le jnlp?Fichiers non-classe avec Java Web Start

Répondre

2

Les fichiers non-java doivent être stockés en tant que ressources. Pour les fichiers qui changent, vous stockez également le fichier d'origine ou le modèle en tant que ressource dans votre fichier jar. Lorsque le programme démarre, vous devez vérifier le système local pour voir si ce fichier existe. Sinon, il crée le fichier local en copiant le fichier modèle à partir de la ressource JAR. Si le fichier existe déjà, il est utilisé tel quel.

Pour enregistrer des fichiers sur le système local, même s'ils s'exécutent dans le bac à sable (non signé), vous pouvez utiliser le PersistenceService (javadoc/example). Si votre application Java est signée, vous pouvez utiliser le fichier standard apis pour écrire le fichier sur la machine locale, comme dans un sous-dossier ".yourgame" sous le dossier de départ de l'utilisateur.

0

Vous pouvez placer tous ces fichiers (sauf le fichier de résultats) dans votre fichier JAR et charger le contenu en utilisant le chargement des ressources.

0

Je viens de supprimer et de redémarrer ma réponse deux fois maintenant, en changeant ma réponse à chaque fois; C'est confus et a besoin d'un peu plus de clarification. Êtes-vous sûr que cette application est supposée être une application Web Start? Sur le site que vous avez lié, il ne semble pas être. Essayez-vous de prendre une application qui n'a pas été conçue en tant qu'application Web Start et de la remplacer par une application Web Start?

Si ce n'est pas une application Web Start comme l'indique votre balise, alors cette question est ouverte. Vous pouvez le distribuer de 100 façons différentes. Si vous essayez en effet de le convertir en une application Web Start, vous pouvez commencer par empaqueter les images dans le pot et cela allégera votre premier mal de tête si vous venez de les lire à partir d'un fichier(). S'il s'agit de Web Start, vous devez décider comment vous souhaitez conserver les scores. Vous devez décider quel est le système de notation avant de pouvoir décider comment s'y prendre; toutes les partitions seront-elles conservées sur le site Web hébergeant l'application Web Start? Cette partie sera-t-elle encore locale? Si vous souhaitez accéder au système de fichiers local, vous devez signer le fichier jar, puis extraire le score.dat dans le système de fichiers et faire ce que vous voulez avec ce dernier si l'utilisateur final l'accepte.

Vous devez savoir ce que vous voulez faire avant de pouvoir le faire, ou au moins le faire pour nous si vous en savez déjà plus que nous ne le savons.

+0

Oui, j'essaie de convertir une application non-JWS en une application JWS. L'application n'est pas le jeu shuffle, j'utilise juste cela comme un exemple qui a quelques-uns des problèmes de l'application sur laquelle je travaille. Un fichier que nous distribuons actuellement avec l'application est un dictionnaire qui est utilisé avec le vérificateur d'orthographe Jazzy. C'est persistant, et le dictionnaire personnalisé de l'utilisateur finit ailleurs. Il y a plusieurs fichiers de propriétés, dont je comprends que les propriétés peuvent être configurées dans le fichier jnlp. Ensuite, il y a un fichier clé qui est utilisé par Orbix/CORBA (j'aimerais m'en débarrasser, mais je ne peux pas encore le faire). –

Questions connexes