Hi Jan, The DITA Open Toolkit uses ANT to build docs. This is a question that comes up occasionally on the DITA Users forum.
A number of document CMS products use the DITA Open Toolkit, so a large number of Technical Authors can potentially see this message. If it could be suppressed, I'm sure a lot of folks would be highly delighted. Many thanks, David > I thought using a custom Logger could solve your problem. > That logger would simply supress special messages. > > But after failing tests I searched for that message: > Locator.getToolsJar() prints directly to SYSO: > > public static File getToolsJar() { > ... try to find tools.jar > if (!toolsJar.exists()) { > System.out.println("Unable to locate tools.jar. " > + "Expected to find it in " + toolsJar.getPath()); > return null; > } > > This method is called by the Launcher very early in the startup process, > where all logging goes directly to STDOUT because the logging framework is > not initialized yet. > > > With that finding these possibilities come to my mind: > - pimp your Ant: overwrite the Locator class (copy and delete all syso-logs) > and place that before the Ant jars. > - filter STDOUT: instead using an AntLogger doing the filtering, you have to > do it somewhere else between Ant and your tool. > - enhance Ant: we introduce an additional if statement which evaluates System > properties (e.g. "ant -Dsuppress-tools-warning=true") > if (!toolsJar.exists()) { > if (!aVerySpecialSystemPropertyIsSet()) { > System.out.println("Unable to locate tools.jar. " > + "Expected to find it in " + toolsJar.getPath()); > } > return null; > } > > > > Jan > > > > > > > > import org.apache.tools.ant.*; > > public class NoToolsWarningLogger extends DefaultLogger { > > public static final String IGNORE_MSG_PATTERN = "Unable to locate > tools.jar."; > > public void messageLogged(BuildEvent event) { > String msg = event.getMessage(); > if (!msg.contains(IGNORE_MSG_PATTERN)) { > super.messageLogged(event); > } else { > System.out.println("tools-message suppressed"); > } > } > > } > >> -----Ursprüngliche Nachricht----- >> Von: Earl Hood [mailto:earlh...@gmail.com] >> Gesendet: Dienstag, 28. April 2015 07:38 >> An: Ant Users List >> Betreff: Re: tools.jar not found >> >> On Tue, Apr 28, 2015 at 12:12 AM, Jan Matèrne (jhm) wrote: >> >>> Ant is a build tool. For some tasks (for example javac, javadoc) the >>> tools from the Java _Development_ Kit are required. >>> If you run with just a Java _Runtime_ Environment most of its tasks >>> could be used, but not all - hence the warning. >> >> It would be really nice if that warning can be suppressed. >> >> I work on a project where Ant is used (under-the-hood), but only the >> JRE is required. Ant tasks used do not require the JDK. We have to >> include in the user documentation that the "tools.jar" message can be >> ignored, but we still on occassion get a user asking about it. >> >> --ewh --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@ant.apache.org For additional commands, e-mail: user-h...@ant.apache.org