Bonjour,
J'ai un problème avec mon jar. J'ai un programme java qui permet d'envoyer des messages qui marche bien dans netbeans, mais quand j'ai le jar ce programme ne voit plus les ports. Quelqu'un a t-il une idée ? Merci d'avance
Bonjour,
J'ai un problème avec mon jar. J'ai un programme java qui permet d'envoyer des messages qui marche bien dans netbeans, mais quand j'ai le jar ce programme ne voit plus les ports. Quelqu'un a t-il une idée ? Merci d'avance
Salut,
Que veux-tu dire par "ne voit plus les ports" ?
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Le programme marche bien quand je suis dans netbean.Mais quand j'obtiens le .jar cela ne marche plus et j'ai l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 package messages; import javax.swing.JOptionPane; import org.smslib.CMessage; import org.smslib.COutgoingMessage; import org.smslib.CService; public class SendMessageTo { public static void sendMessage(String number, String message,String port) { CService srv = new CService(port, 9600, "HUAWEI", "E153u-1"); // CService srv = new CService("COM3", 9600, "MTN", "MTN Buzz c390"); try { srv.setSimPin("0000"); srv.setSimPin2("0000"); srv.setSmscNumber(""); srv.connect(); COutgoingMessage msg = new COutgoingMessage(number, message); msg.setMessageEncoding(CMessage.MessageEncoding.Enc7Bit); msg.setStatusReport(true); msg.setValidityPeriod(8); srv.sendMessage(msg); srv.disconnect(); } catch (Exception e) { System.out.println("Transmission PB "+e.getMessage()); e.printStackTrace(); JOptionPane.showMessageDialog(null, "sending message "+e.getMessage()); } } public static void main(String [] arg){ System.out.println("Demarage de l'envoie"); SendMessage.sendMessage("+237679977901", "HELLO WORLD"); System.out.println("FIN"); } }
javax.comm.NoSuchPortException
at javax.comm.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:105)
at org.smslib.CSerialDriver.open(CSerialDriver.java:106)
at org.smslib.CService.connect(CService.java:599)
ce programme fonctionne avec un modem comme les clés internet HUAWEI. Le programme se connecte au port sur lequel est connecté le modem qui contient une puce pour pouvoir envoyer le message
Désolé te de répondre si tardivement, mais je ne connais pas le fonction de javax.comm, ou de la bibliothèque sms que tu utilises.
J'imagine plusieurs raisons : soit il manque une bibliothèque (que tu as dans ton environnement de développement, mais pas déployée avec ton jar), soit c'est un problème lié à des conditions de fonctionnement (peut-être un fichier de licence dépendant d'une ip qui ne serait pas la même, ou un environnement différent ou une configuration différente (tu exécutes le jar sur la même machine que celle où tu développes ?)). Maintenant dans le détail, je ne peux t'aider plus que celà.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Ca parait evident mais je prefere demander:
- Meme ordi lorsque tu utilises netbeans et lorsque tu executes le jar ?
- Meme port avec la meme config dans les 2 cas (un petit System.out.println serait bienvenu pour t'en assurer) ?
- Les programmes qui pourraient utiliser le port (terminal, netbeans avec ton application, ...) sont bien fermés ?
Si oui, je pencherais bien pour un probleme de droit. Il faudrait essayer de lancer ton jar en tant qu'administrateur.
Bonsoir et merci pour vos réponses. bien sur j’exécute le .jar sur la même machine ,surement il parait certaines bibliothèques ne sont pas importés dans le .jar
car pour que le programme dans netbean puisse communiquer avec les ports , on effectue la configuration suivante:
on copie comm.jar dans \jdk1.3\jre\lib\ext
on copie win32com.dll dans \jdk1.3\bin
on copie javax.comm.properties dans \jdk1.3\jre\lib
et aussi win32com.dll dans system32 folder
Bonsoir hwoarang, comment lancer mon jar en tant qu'administrateur sur windows seven?
Non. Ne jamais rien mettre dans les dossier du jdk ou jre. Ces dossiers n'appartiennent pas à ton application et pourraient être supprimés lors d'un processsus d'update. En plus, c'est plutôt lourd à déployer. Les bibliothèques et fichiers de configuration doivent être livrés dans un dossier proche du jar (un sous-dosser du dossier qui le contient), ou dans le jar s'il est exécutable (au moins les jar et properties, sauf si on veut permettre qu'ils soient personnalisable). Ensuite, on les met dans le classpath et on fait référence aux properties en tant que ressources, et on charge les bibliothèques natives par un Runtime.getRuntime().loadLibrary() si l'API ne le fait pas d'elle-même.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Bonjour et merci pour votre réponse . j'ai supprimé les librairies dans le jdk et je les ai mise dans un dossier de mon projet.
Maintenant il y a les fichiers
javax.comm.properties et win32com.dll qui ne sont pas les jar, je ne sais comment leur intégré dans mon projet. Merci
Oui, ajouter des fichiers dans le jdk, ca veut dire que ton programme ne fonctionnera que sur le PC que tu as bidouiller jusqu'au prochain update.
Bref, il faut inclure ce dont tu as besoin dans ton jar ou bien livrer avec (dans la meme archive).
Pour ta dll, par exemple, soit tu l'embarques dans le jar et tu la dezippes au lancement du programme (en faisant attention à bien ajouter au library path le repertoire ou tu as dezippé la dll), soit tu la livres avec (ton programme serait composé du .jar et des dlls dont il a besoin).
Maintenant que tu as déplacé les jar/dll du jdk, ton programme fonctionne il dans l'IDE ? Et hors de l'IDE ?
Au passage, pour lancer ton fichier en administrateur, le plus simple est de creer un .bat qui lance ton jar avec les arguments dont tu as besoin et de faire clic droit "Executer en tant qu'administrateur".
Bonjour et merci pour vos réponses. J'ai créer un package dans mon projet dans lequel j'ai mis mes jar et ma dll. Ainsi j'ai modifié le path de la VM options ceci : - java.library.path ="patch du package ".
Mon programme s'exécute dans IDE NetBeans, mais le jar ne fonctionne pas toujours. J'ai toujours la même erreur
Je ne comprends vraiment pas pourquoi ça ne marche pas, pourtant quand je génère le jar tous les librairies sont copiés dans lib sauf la dll, j'ai maintenant copié la dll dans lib mais sans succès.
J'ai toujours l'erreur suivante :
javax.comm.NoSuchPortException
at javax.comm.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.java:105)
at org.smslib.CSerialDriver.open(CSerialDriver.java:106)
at org.smslib.CService.connect(CService.java:599)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager