Author: rmannibucau
Date: Mon Sep 12 20:22:21 2011
New Revision: 1169907
URL: http://svn.apache.org/viewvc?rev=1169907&view=rev
Log:
trying to be more explicit about the library to remove when the API is old
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1169907&r1=1169906&r2=1169907&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
Mon Sep 12 20:22:21 2011
@@ -109,7 +109,6 @@ import org.apache.openejb.jee.WebApp;
import org.apache.openejb.jee.WebserviceDescription;
import org.apache.openejb.jee.oejb3.OpenejbJar;
import org.apache.openejb.loader.SystemInstance;
-import org.apache.openejb.resource.jdbc.DataSourceFactory;
import org.apache.openejb.util.AnnotationUtil;
import org.apache.openejb.util.Join;
import org.apache.openejb.util.LogCategory;
@@ -3747,12 +3746,20 @@ public class AnnotationDeployer implemen
return cls.getMethod("lookup", null);
} catch (NoSuchMethodException e) {
logger.error("lookup method is not available for " +
cls.getName()
- + ". You probably have an old API in the classpath."
- + "Tomcat is known to have an old annotations-api.jar,
maybe you should replace it.");
+ + ". You probably have an old API -" +
getSourceIfExists(cls) + "- in the classpath. "
+ + getSourceIfExists(cls));
return null;
}
}
+ private static String getSourceIfExists(Class<?> cls) {
+ if (cls.getProtectionDomain() != null &&
cls.getProtectionDomain().getCodeSource() != null
+ && cls.getProtectionDomain().getCodeSource().getLocation() !=
null) {
+ return
cls.getProtectionDomain().getCodeSource().getLocation().toString();
+ }
+ return "";
+ }
+
private static String getLookupName(Resource resource) {
String value = "";
Method lookupMethod = getLookupMethod(Resource.class);