2010-11-29 24 views
0

J'ai un projet que j'ai créé et il contient un bouton d'aide qui ouvre un fichier .pdf avec ma documentation. Le code du bouton est la suivanteExportation d'un projet dans un fichier JAR exécutable avec un document PDF

URL loc = Actions.class.getResource("Documentation/test.pdf"); 
      Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + loc); 

Quand je lance et exécute mon application en utilisant Eclipse et cliquez sur le bouton, il ouvre le document bien dans Adobe Reader. Après avoir exporté mon projet dans un fichier Runnable JAR via eclipse et cliqué sur le bouton, il ne fait rien. Y a-t-il quelque chose que je dois ajouter pour que cela fonctionne?

Je viens d'ouvrir le fichier jar en utilisant 7zip et mon document test.pdf apparaît ici.

Répondre

0

Ceci est peut-être dû au fait que le fichier pdf se trouve dans le fichier jar et que l'URL renvoyée par la méthode getResource ne peut pas être reconnue par un programme externe.

Vous pouvez faire une impression de "loc" pour voir à quoi ressemble l'URL lorsqu'elle se trouve dans le fichier jar.

+0

Quand j'imprimé le emplacement après l'ouverture du fichier jar, il est dit que l'emplacement est nul Lorsque j'ai couru le projet en utilisant eclipse et imprimé l'emplacement, il pointait vers le bon endroit Comment puis-je réparer l'emplacement dans le fichier jar? – sigfreik

0

Le comportement par défaut et les intentions derrière un fichier jar sont pour l'empaquetage des fichiers (Java) dans un format compressé. Si vous voulez avoir un pot de type exécutable, vous devez inclure une manifest file qui spécifie votre classe principale de Java (la classe qui contient le main(). De là, vous pouvez coder la logique pour lancer vos documents PDF.