Je reçois l'avertissement suivant:
[javac] build.xml:9: warning: 'includeantruntime' was not set,
defaulting to build.sysclasspath=last; set to false for repeatable builds
Qu'est-ce que ça veut dire?
Réglez simplement includeantruntime="false"
:
<javac includeantruntime="false" ...>...</javac>
Si vous devez utiliser la javac
-tâche plusieurs fois, vous pourriez envisager d'utiliser PreSetDef
pour définir votre propre javac
-tâche qui est toujours définie includeantruntime="false"
.
Sur http://www.coderanch.com/t/503097/tools/warning-includeantruntime-was-not-set :
Cela est dû à une erreur introduite dans Ant 1.8. Ajoutez simplement un attribut de ce nom à la tâche javac, définissez-le sur false et oubliez que cela ne s'est jamais produit.
De http://ant.apache.org/manual/Tasks/javac.html :
Indique s'il faut inclure les bibliothèques d'exécution Ant dans le chemin de classe; par défaut à yes, sauf si build.sysclasspath est défini. Il est généralement préférable de définir ce paramètre sur false afin que le comportement du script ne soit pas sensible à l'environnement dans lequel il est exécuté.
Comme l'a mentionné @Daniel Kutik,
presetdef
c'est une bonne option. Surtout si l'on travaille sur un projet avec de nombreuxbuild.xml
fichiers que l'on ne peut pas, ou préfère ne pas éditer (par exemple, ceux de tiers.)Pour l'utiliser
presetdef
, ajoutez ces lignes dans votrebuild.xml
fichier de niveau supérieur :Désormais, toutes les
javac
tâches suivantes hériteront essentiellementincludeantruntime="false"
. Si vos projets ont réellement besoin de bibliothèques d'exécution ant, vous pouvez soit les ajouter explicitement à vos fichiers de construction OU définirincludeantruntime="true"
. Ce dernier supprimera également les avertissements.Les
javac
tâches suivantes peuvent toujours changer cela explicitement si vous le souhaitez, par exemple:Je recommanderais de ne pas l'utiliser
ANT_OPTS
. Cela fonctionne, mais cela va à l'encontre du but de l'avertissement. L'avertissement indique à quelqu'un que sa version peut se comporter différemment sur un autre système. L'utilisationANT_OPTS
rend cela encore plus probable car maintenant chaque système doit être utiliséANT_OPTS
de la même manière. S'appliquera également à l'ANT_OPTS
échelle mondiale, supprimant les avertissements au gré de tous vos projetsla source
presetdef
astuce similaire peut-elle être faite pour fonctionner pour les tâches Ant non intégrées? J'ai essayé cela avecscalac
, mais parce que lesbuild.xml
fichiers inférieurs doivent définir manuellement lascalac
tâche, ils remplacent tout ce que j'ai défini au niveau supérieur.Chet Hosey a écrit une belle explication ici :
la source
La réponse de Daniel fonctionne parfaitement. Voici un exemple d'extrait que j'ai ajouté à mon build.xml:
la source
Si vous aimez que je travaille à partir de la ligne de commande, la réponse rapide est l'exécution
Et puis réexécutez votre script ant.
la source
set ANT_OPTS=-Xms40M -Xmx512M -Dbuild.sysclasspath=ignore
.Utiliser
<property name="build.sysclasspath" value="last"/>
dans votre fichier build.xmlPour plus de détails recherche
includeAntRuntime
dans Ant javacD'autres valeurs possibles peuvent être trouvées ici
la source
j'ai fait face à la même chose, je m'enregistre dans le programme et la fonctionnalité. il y avait une mise à jour a installer pour jdk1.8 qui n'est pas compatible avec mon ancien paramètre (jdk1.6.0) pour ant dans eclipse. J'installe cette mise à jour. en ce moment, mon projet de fourmi est de réussir.
Essayez-le, j'espère que cela vous sera utile.
la source