bonjour,
J'avoue être un peu bloqué depuis 1H car je ne comprends pas pourquoi mes librairies ne se package pas avec mon fichier jar. Et forcément cela pose problème à l'execution car les libs ne sont pas présente.
Voici mon fichier build.xml :
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69 <?xml version="1.0" encoding="UTF-8"?> <project name="Dta" basedir="." default="exportDta"> <echo message="**************************************** " /> <echo message="* DTA Compile And Export script " /> <echo message="* ANT Version : ${ant.version} " /> <echo message="**************************************** " /> <target name="init" description="Initialize build"> <property name="dta.root.dir" value="${basedir}" /> <property name="dta.src.dir" value="${dta.root.dir}\src" /> <property name="dta.lib.dir" value="${dta.root.dir}\lib" /> <property name="dta.bin.dir" value="${dta.root.dir}\bin" /> <property name="output.jar.dir" value="${basedir}" /> </target> <target name="clean" depends="init" description="Removes all generated files"> <delete dir="${dta.bin.dir}" /> </target> <path id="dta-classpath"> <fileset dir="${basedir}\lib"> <include name="*.jar"/> </fileset> </path> <target name="copy-non-java-files"> <copy todir="${dta.bin.dir}" includeemptydirs="false"> <fileset dir="${dta.src.dir}" excludes="**/*.java" /> </copy> </target> <target name="compile" depends="init, clean, copy-non-java-files"> <javac srcdir="${dta.src.dir}" destdir="${dta.bin.dir}" classpathref="dta-classpath" debug="true" /> </target> <pathconvert property="lib.dta.manifest.classpath" pathsep=" "> <path refid="dta-classpath"/> <flattenmapper/> </pathconvert> <target name="exportDta" depends="compile"> <echo message="* ${lib.dta.manifest.classpath} " /> <jar jarfile="${output.jar.dir}\test.jar" basedir="${dta.bin.dir}" includes="**\*"> <manifest> <attribute name="Main-Class" value="dta.core.Launcher"/> <attribute name="Class-Path" value=". ${lib.dta.manifest.classpath}" /> <!-- <attribute name="Class-Path" value="${lib.dta.manifest.classpath}" /> --> </manifest> </jar> </target> <target name="exportDtaClient"> <!-- <jar jarfile="${output.jar.dir}/DtaClient.jar" basedir="${project.bin.dir}" /> --> </target> <target name="exportDtaServer"> <!-- <jar jarfile="${output.jar.dir}/DtaServerJar.jar" basedir="${project.bin.dir}" /> --> </target> </project>
Le problème je crois c'est qu'il manque ceci :
Mais j'aimerais automatiser ces lignes car je n'ai pas envie de reconfigurer à chaque fois le fichier dès que j'ajoute une lib.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <zipfileset src="jar-in-jar-loader.zip"/> <fileset dir="bin"/> <zipfileset dir="lib" includes="jdom.jar"/> <zipfileset dir="lib" includes="log4j-1.2.17.jar"/>
Est-ce que vous avez une solution sous la main pour inclure mes jars lib dans mon jar executable ?
D'avance merci
Partager