Juste en essayant de mettre à jour des vieux trucs et une partie de cela, j'ai besoin de regrouper mon pot personnalisé qui utilise Log4j. J'ai ajouté ce qui suit pour ma tâche <javac>
qui se compile avec succès.Java Job Ant comment expédier le bocal Log4j avec mon pot
<path id="my.classpath">
<fileset dir="${mainpath}">
<include name="**/*log4j*.jar"/>
</fileset>
</path>
<javac srcdir="src/java" destdir="build/filez/java" debug="on" deprecation="no"
includes="my/instruments/**/*, org/apache/log4j/**/*">
<classpath refid="my.classpath"/>
</javac>
Cependant, dans mon travail, je <jar>
ne vois pas emballé dépendance log4j
avec mon pot personnalisé. Cela peut être une question stupide, mais comment s'assurer que mon jar personnalisé n'échoue pas lorsqu'il est appelé à partir d'une autre application puisque la dépendance n'est pas emballée? Cela ira-t-il tant que log4j a été chargé par classloader dans l'application cible?
De plus, dois-je ajouter quelque chose dans mon manifeste pour cela?
Je ne peux pas utiliser Maven (oui je sais) pour un peu de temps, donc ne peut pas résoudre ce problème avec Maven
Si vous voulez inclure un fichier dans votre fichier jar, cela est contrôlé par la tâche 'jar', pas par' javac'. Que vous ayez ou non besoin d'inclure log4j dans votre fichier jar dépend de l'existence d'une dépendance à l'exécution ou à la compilation. – CAustin