[216782] NPE publishing 5.0 EAR containing external JAR and lacking application.xml
diff --git a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java index 8d7e9f0..d65995c 100644 --- a/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java +++ b/plugins/org.eclipse.jst.j2ee/j2eeplugin/org/eclipse/jst/j2ee/internal/deployables/J2EEFlexProjDeployable.java
@@ -618,6 +618,9 @@ if (edit==null) return false; Application app = edit.getApplication(); + if (app == null) { // if no application.xml, return false + return false; + } IVirtualReference reference = getReferenceNamed(references,aComponent.getName()); // Ensure module URI exists on EAR DD for binary archive return app.getFirstModule(reference.getArchiveName()) != null;
diff --git a/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java b/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java index f8c5f5e..31e346e 100644 --- a/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java +++ b/plugins/org.eclipse.jst.jee/earproject/org/eclipse/jst/jee/internal/deployables/JEEDeployableFactory.java
@@ -123,6 +123,10 @@ earEdit = EARArtifactEdit.getEARArtifactEditForRead(component.getProject()); app = earEdit.getApplication(); } + // if we are missing the application.xml, cannot check for module URI so assume an archive + if (app == null) { + continue; + } // Check if module URI exists on EAR DD for binary j2ee archive Module j2eeModule = app.getFirstModule(references[i].getArchiveName()); // If it is not a j2ee module and the component project is the ear, it is just an archive