2010-12-01 56 views
1

Je suis vraiment confus - mais vraiment c'est assez bizarre parce que je connais deux langages de programmation mais je n'arrive pas à trouver quelque chose de simple comme ça ... Je cherche depuis longtemps mais je n'arrive pas à obtenir ma la contourner. Vous voyez, pendant longtemps, j'ai écrit dans AutoIt, et j'ai écrit deux programmes qui vont bientôt être en vente! Ils n'ont jamais été destinés à être dehors pendant longtemps (comme Windows Vista), alors récemment j'ai appris Java avec succès. J'ai écrit quelques applications très très simples dans eclipse en passant par des tutoriels Java! Je suis maintenant prêt à transférer mes programmes vers Java, pour gagner un marché plus large en raison de la capacité multiplate-forme de Java, mais je n'ai jamais prévu que la distribution soit aussi complexe. Mon premier problème que j'ai rencontré est la facilité d'utilisation sur plusieurs OS: Je ne veux pas que mes clients doivent traiter avec JRE ou plusieurs fichiers, j'ai besoin d'une solution double-clic qui fonctionnera sur MAC, Windows, Linux, etc. de sorte que même newbie informatique complète peut lancer mon logiciel! Deuxièmement, ce n'est pas autant un problème que quelque chose que je ne suis pas sûr de savoir comment faire. Cela inclut les fichiers dans mon logiciel, certains doivent rester séparés du programme, mais d'autres peuvent être compilés, mais en fait, je suppose que cela peut être travaillé par un installateur - ce qui serait probablement plus facile! Et enfin, l 'autre proram que j'ai fait est autonome pour pouvoir travailler sur des clés USB (ce pour quoi il a été conçu), maintenant, comment supposez - vous que je le fais pour le lancer sur plusieurs systèmes opearating quand il est branché sans aucun hasle?Comment puis-je distribuer mes applications Java pour la facilité de l'utilisateur?

Mise à jour :: avez oublié d'ajouter :: Mes préoccupations concernant la sécurité

j'ai lu et de son expérience personnelle, je sais: comment il est facile de décompiler un .jar, et si pas protégées correctement la lecture code source! Je connais l'obfuscation et je sais que je vais avoir un soutien juridique, mais cela m'inquiète tout simplement. Même du point de vue de l'utilisateur, il se peut que la première impression de mon logiciel soit erronée.

à conclure dans un sentace (S'il vous plaît lire ci-dessus encore): Je dois être en mesure de laisser les gens utiliser mon logiciel écrit en Java en double cliquant sur par exemple Comme quelque chose faite dans AutoIt - une application standard i.e. * .exe

Merci à l'avance

Répondre

1

Il y a deux itinéraires que vous pouvez prendre sans avoir besoin de logiciel supplémentaire impliqué. Le premier consiste à créer simplement un executable jar (Java Archive) file. Java associe automatiquement l'extension .jar à l'interpréteur Java sur la plupart des systèmes. Le manifest file du JAR lui indiquera which class to launch lorsque vous double-cliquez dessus.

La deuxième route, moins recommandée, consiste à créer une application Java Web Start avec un fichier de lancement JNLP. Le vise plus à des applications distribuées à partir de sites Web.

+0

Bien sûr, il doit toujours y avoir un JRE installé sur l'environnement hôte. – FrustratedWithFormsDesigner

+0

Salut, merci pour votre réponse rapide incroyable - beaucoup appriciated. J'ai lu des fichiers jar exécutables avant et la chose qui me dérangeait était que les utilisateurs devaient avoir installé JRE!Cela peut être une grande difficulté pour le type de personnes que mon logiciel vise à moins que JRE puisse être installé automatiquement, ce que certains utilisateurs peuvent ne pas aimer! Une autre chose qui me préoccupe est la sécurité, j'aurai/mis à jour mon message original à expliquer; – Andy

+0

@Andy: Il existe des outils d'emballage de logiciels professionnels qui peuvent inclure le JRE et l'installer si nécessaire. Installateur VISE est un tel outil, la recherche sur Google donnera probablement d'autres. Je ne sais pas combien d'ordinateurs n'ont pas de JRE installé, il semble assez courant ces jours-ci, je pense que certains l'incluent même dans les distributions d'OS d'usine. Une installation Windows vanille ne l'aurait probablement pas, mais ce n'est pas aussi commun maintenant, il semblerait. – FrustratedWithFormsDesigner

1

Je vais suggérer la troisième façon: écrire plusieurs scripts de lancement spécifiques à la plate-forme pour votre application. Par exemple, run.bat pour Windows et run.sh pour Linux. A l'intérieur de chaque script, écrivez une commande pour lancer JRE avec tous les paramètres nécessaires. Vous pouvez également effectuer des vérifications avant le lancement (JRE est-il installé?) Ou des actions spécifiques à la plate-forme dans ces scripts.

+0

Salut, merci pour votre réponse rapide aussi. Votre façon suggérée semble la plus simple mais la plus désordonnée. C'est quelque chose que je ne voulais pas et certaines des mêmes questions que mon commentaire précédent se posent toujours! J'admire le gestionnaire de rapidshare V2, si l'un d'entre vous l'utilise, et je sais qu'il est écrit en Java, donc si quelqu'un sait comment Rapidshare l'a fait s'il vous plaît pouvez-vous me dire !? – Andy