Sans modifier ce dernier point on en reviens à ce que j'avais déjà fait et j'avais (et j'ai toujours) la même erreur :
Il n'y a pas de windres.exe dans le dossier compressé linux, c'est pourquoi je lui avais renseigné de décompressé (unzip au lieu de untar) le dossier win32, après ça cette erreur ne s'affichait plus mais j'en avais une autre avec le fichier iscc, que j'ai détaillé un peu avant
Code : Sélectionner tout - Visualiser dans une fenêtre à part C:\Users\avidegrain\Desktop\code_source_jsignpdf_original\jsignpdf\build.xml:258: net.sf.launch4j.BuilderException: net.sf.launch4j.ExecException: java.io.IOException: Cannot run program "C:\Users\avidegrain\Desktop\code_source_jsignpdf_original\jsignpdf\build\launch4j\bin\windres.exe": CreateProcess error=2, Le fichier spécifié est introuvable
EDIT : Sinon au lieu de remplacer untar par unzip, faudrait que je trouve la ligne ou il veut un windres.exe et remplacer par un windes tout court
effectivement je suis retourné dan le build, et il a fait ces modifs pour que cela fonctionne sur linux, mais il a oublié de recommencé sur windows pour voir si cela marchait toujours
dans le build.properties tu remplace launch4j-3.0.2-linux.tar par launch4j-3.0.2-win32.zip
dans le build.xml pour le moment tu remplaces :
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <untar compression="gzip" src="lib-build/${launch4j.zip}" dest="${build.dir}"/> <chmod file="${build.dir}/${launch4j.dir}/bin/windres" perm="+x"/> <chmod file="${build.dir}/${launch4j.dir}/bin/ld" perm="+x"/>
et ensuite tu essais pour voir !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <unzip src="lib-build/${launch4j.zip}" dest="${build.dir}"/>
Cette erreur là est résolu, mais ensuite j'en ai une autre !
Ce fichier iscc a pour code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BUILD FAILED C:\Users\avidegrain\Desktop\code_source_jsignpdf_original\jsignpdf\build.xml:401: Execute failed: java.io.IOException: Cannot run program "C:\Users\avidegrain\Desktop\code_source_jsignpdf_original\jsignpdf\unsorted\iscc": CreateProcess error=193, %1 n’est pas une application Win32 valide
Et ça c'est un script pour linux non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/bin/sh unset DISPLAY scriptname=$(winepath -w "JSignPdf.iss") distdir=$(winepath -w "$1") outputdir=$(winepath -w "$2") wine "C:\Program Files\Inno Setup 5\ISCC.exe" "$scriptname" "/dDistDir=${distdir}" "/dOutputDir=${outputdir}" "$3" "$4" "$5" "$6" "$7" "$8" "$9"
Ca c'est parce que tu n'a pas correctement renseigné le chemin Inno Setup que normalement tu as installé sur ta machine !
Inno Setup est un programme qui ne fonctionne que sur windows. Pour pouvoir faire le build sur linux, l'auteur de jsignpdf utilise "wine" pour lancer Inno Setup et a donc fais un scripte pour ca qu'il utilise a la place de iscc.exe.
dans le build.properties tu dois avoir quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2innosetup.exec=c:\\Program Files\\Inno Setup 5\\iscc.exe
Les chemins sont renseignés mais le build échoue dans les dernières lignes ! Voici l'erreur :
Il semblerait qu'il essaye de lancer un build sous/pour mac os et c'est normal qu'il échoue vu qu'on est en win os. Par contre je comprend pas pourquoi il essaye de faire ça, le développeur a du l'adapter pour mac os aussi, et ou cela est renseigné, dans le build properties rien ne parle de ça, la seule ligne du code que j'ai trouvé c'est dans le properties.xml tout cours à la dernière ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 BUILD FAILED C:\Users\avidegrain\Desktop\code_source_jsignpdf_original\jsignpdf\build.xml:422: Not possible to run Mac build check OS and if the app is already build.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <property name="macosx.dir" value="${java.io.tmpdir}/${jsignpdf.product.name}-macosx-temp" />
Ok, l'auteur du build a fait des choses étranges
dans le build.xml, tu remplaces :
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part <target name="all" depends="zip,oxt,installer,src,macosx"/>
Sur les dernières versions des changements ont été fait, mais mal ! certaines choses devraient être conditionnées et ne le sont pas .... bizarre !
Code : Sélectionner tout - Visualiser dans une fenêtre à part <target name="all" depends="zip,oxt,installer,src"/>
Ça build enfin ! Merci
Par contre, comment je "lance" l'application maintenant ? Je fait run AFMParser mais ça ne fonctionne pas et j'ai test Run Jsignpdf (avec un logo JU) et ça ne fonctionne pas non plus .. Enfin on a réussi à build déjà, ça avance ! :p
Parce que mon but, avant toute modifications, c'est d'arriver à lancer l'application depuis le compilateur/code open source de base et que ça marche. Après je pourrais y apporter des modif'
J'ai réussi à lancer l'application ! Enfin !
J'ai trouvé le main() et j'ai fait run as -> java application, le main() se trouve dans jsignpdf>src>net.sf.jsignpdf>signer.java>signer>main()
Bon, plus qu'a trouver comment le mettre en exécutable et je pourrais commencer à bidouiller tout ça
As tu essayé tout simplement de le lancer comme indiqué sur le site officiel :
Edit : bon si tu as réussit alors n'oublie pas de passé en résolusLaunching
If you don't use windows installer, which already includes Java, you'll need a Java Runtime Environment in version 6 and newer.
Run JSignPdf.exe on Windows machine. If you don't use Windows or you want to add special parameters to the Java, run following from a command line:
java -jar JSignPdf.jar
To get help for command line processing (batch mode) use --help switch:
java -jar JSignPdf.jar --help
Sur le site officiel c'est quand on télécharge et installe l'application jsignpdf, moi je voulais le lancer à partir du code source (sous eclipse)
Aaaaah ok je comprend mieux
Sinon après le build je vois pas de raccourci sur l'application jsignpdf dans le dossier de base, et en comparant les deux (dossier de jsignpdf installé et dossier du code source jsignpdf sur lequel on compile) ce n'est pas les même
J'ai rien dit, c'est dans le dossier de base
jsignpdf>build>jsignpdf-version_appli
Bon, j'aurai au moins compris comment fonctionne eclipse pour la compilation etc ..
C'est déjà un bon début :p
EDIT :
Du coup je sais pas si je passe en résolu, l'application n'étant pas encore modifié ?
Pour moi, le sujet est résolu car tu as les sources, tu peux lancer l'application. Tu as donc juste a modifier le code source et lancer pour voir ce que cela donne.
Et comme ca tu pourras faire de nouveaux sujet lorsque tu aura des problèmes précis a exposer dans le cadre de tes modifications !
D'accord je passe le sujet en résolu, merci de ton aide
Sinon là je cherche les variables que l'utilisateur rentre du genre le chemin du fichier, le chemin de sortie, les nom des fichiers etc .. Je vais commencer par faire des petites modifications sur ça
Encore merci
Si tu dois avoir des entrés dans ton programme c'est a toi de le prévoir.
Les informations peuvent être renseigné de plusieurs façon :
- les arguments de la méthode main
- les arguments de la JVM (-D)
- dans un fichier de propriété (chargé grâce a la classe Properties)
- dans un fichier XML
- dans une base de données
- ...
la/les méthode(s) que l'on choisie dépend en général de plein de chose, tel que le nombre de données variables que l'on a besoin, de la complexité, ...
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