diff --git a/docs/manual/OptionalTasks/ejb.html b/docs/manual/OptionalTasks/ejb.html index 9265cd981..060b2cbb3 100644 --- a/docs/manual/OptionalTasks/ejb.html +++ b/docs/manual/OptionalTasks/ejb.html @@ -847,6 +847,12 @@ define this as META-INF/Customer-weblogic-cmp-rdbms-jar.xml.

Deprecated This is an antonym for newCMP which should be used instead. No. + + noEJBC + If this attribute is set to true, Weblogic's ejbc will not be run on the EJB jar. + Use this if you prefer to run ejbc at deployment time. + No. +

The weblogic nested element itself supports two nested elements <classpath> and diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java index fad6e5a67..a1f7cbce0 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java @@ -119,6 +119,9 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { private boolean alwaysRebuild = true; + /** controls whether ejbc is run on the generated jar */ + private boolean noEJBC = false; + /** * Indicates if the old CMP location convention is to be used. */ @@ -254,7 +257,15 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { public void setNewCMP(boolean newCMP) { this.newCMP = newCMP; } - + + /** + * Do not EJBC the jar after it has been put together. + * + */ + public void setNoEJBC(boolean noEJBC) { + this.noEJBC = noEJBC; + } + protected void registerKnownDTDs(DescriptorHandler handler) { // register all the known DTDs handler.registerDTD(PUBLICID_EJB11, DEFAULT_WL51_EJB11_DTD_LOCATION); @@ -372,7 +383,20 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool { */ private void buildWeblogicJar(File sourceJar, File destJar, String publicId) { org.apache.tools.ant.taskdefs.Java javaTask = null; - + + if (noEJBC) { + try { + getTask().getProject().copyFile(sourceJar, destJar); + if (!keepgenerated) { + sourceJar.delete(); + } + return; + } + catch (IOException e) { + throw new BuildException("Unable to write EJB jar", e); + } + } + String ejbcClassName = ejbcClass; try {