pour ca je ne suis pas sur, car dans le build.xml il est juste fait un untar !
commence déja sans modifier ce dernier point et regarde ce que cela donne :D
Version imprimable
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 avantCode: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 :aie:
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 :
parCode:
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:
1
2 <unzip src="lib-build/${launch4j.zip}" dest="${build.dir}"/>
Cette erreur là est résolu, mais ensuite j'en ai une autre ! :aie:
Ce fichier iscc a pour code :Code:
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:
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:
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:
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:<property name="macosx.dir" value="${java.io.tmpdir}/${jsignpdf.product.name}-macosx-temp" />
Ok, l'auteur du build a fait des choses étranges :aie:
dans le build.xml, tu remplaces :
parCode:<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:<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ésolusCitation:
Launching
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é, ...