From 039da0c82353f1aeeead4d8a841c5a6e5a8b43e7 Mon Sep 17 00:00:00 2001 From: Conor MacNeill Date: Wed, 12 Feb 2003 14:29:07 +0000 Subject: [PATCH] Resolve DTD locations relative to project basedir Also more into when dependency analyzer cannot be found. PR: 13271 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@274065 13f79535-47bb-0310-9956-ffa450edef68 --- .../tools/ant/taskdefs/optional/ejb/DescriptorHandler.java | 7 ++++++- .../ant/taskdefs/optional/ejb/GenericDeploymentTool.java | 6 ++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java index dd1605d78..649e2c67b 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java @@ -1,7 +1,7 @@ /* * The Apache Software License, Version 1.1 * - * Copyright (c) 2000-2002 The Apache Software Foundation. All rights + * Copyright (c) 2000-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -159,6 +159,11 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase { } File fileDTD = new File(location); + if (!fileDTD.exists()) { + // resolve relative to project basedir + fileDTD = owningTask.getProject().resolveFile(location); + } + if (fileDTD.exists()) { if (publicId != null) { fileDTDs.put(publicId, fileDTD); diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java index 3f1cca7ec..37866d287 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java @@ -315,11 +315,13 @@ public class GenericDeploymentTool implements EJBDeploymentTool { dependencyAnalyzer.addClassPath(config.classpath); } catch (NoClassDefFoundError e) { dependencyAnalyzer = null; - task.log("Unable to load dependency analyzer: " + analyzerClassName, + task.log("Unable to load dependency analyzer: " + analyzerClassName + + " - dependent class not found: " + e.getMessage(), Project.MSG_WARN); } catch (Exception e) { dependencyAnalyzer = null; - task.log("Unable to load dependency analyzer: " + analyzerClassName, + task.log("Unable to load dependency analyzer: " + analyzerClassName + + " - exception: " + e.getMessage(), Project.MSG_WARN); } }