2017-01-03 1 views
0

J'ai actuellement terminé mon projet, mais je n'arrive pas à le faire fonctionner lorsqu'il est exporté. J'utilise JAXB pour lire et écrire des fichiers XML et aussi des dépendances sur d'autres dossiers externes, qui sont nécessaires pour utiliser une imprimante POS.Exporter vers JAR avec des fichiers JavaPOS externes

J'ai réussi à lier mes fichiers de sauvegarde XML externes avec des chemins absolus, mais pas avec des chemins relatifs. Donc, cela a fonctionné, mais pas la façon dont je voulais. Pourtant, l'utilisation du dossier de classe externe pour l'imprimante n'a pas fonctionné du tout. Cela signifie que dans mon chemin de construction de projet Eclipse j'ai ajouté un dossier de classe, qui contient tous ces fichiers nécessaires (qui ne sont pas seulement des jars, donc les ajouter un par un ne fonctionnerait pas). Donc, l'exportation de mon projet dans un pot comprend tous les fichiers dans le pot lui-même, ou ne les inclut pas du tout. Tout fonctionne parfaitement dans Eclipse, mais pas quand je l'exporte.

Ma structure de dossier ressemble à ceci:

src 
    /model 
    /view 
    /control 
data 
    /articles.xml 
    /... 
JavaPOS <--- needed folder with all its files 
    /jpos.xml 
    /xerxers.jar 
    /swt-..-.dll 

J'ai essayé.

  • InputStreams est = getClass() getResourceAsStream (url);

  • chemins absolus

  • manipuler le fichier manifeste et/ou la structure de pot

  • pots exécutables et non exécutables avec presque toutes les combinaisons d'options

  • mettre les fichiers dans la bibliothèque « par hand "

  • changer le chemin de construction du projet

Ma question est:

Comment puis-je obtenir mon pot-fichier pour savoir où ces fichiers sont?

EDIT:

Pensez-vous que Maven ou Ant un fichier pourrait résoudre mes problèmes? Je n'ai aucune expérience avec ceux-ci.

Répondre

0

Le problème était, que j'avais plus d'un JRE installé et que l'une éclipse utilisait, avait tous les fichiers dll, mais les autres ne l'ont pas. J'ai donc dû les ajouter manuellement, car la réinstallation des pilotes de l'imprimante n'a rien changé. Je dois y remédier d'une façon ou d'une autre, mais maintenant ça marche et c'est tout ce que je voulais.

Il s'avère que je n'avais même pas besoin de ce dossier, juste besoin d'un fichier et des DLL manquantes.