[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