diff -r 0e23f9a2fdf6 j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java --- a/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java Thu Nov 29 14:11:09 2012 +0100 +++ b/j2eeserver/src/org/netbeans/modules/j2ee/deployment/devmodules/api/J2eeModule.java Thu Nov 29 15:08:19 2012 +0100 @@ -352,6 +352,12 @@ } + public interface RootedEntry2 extends RootedEntry { + + boolean isDirectoryDeployIgnored(); + + } + public static final class Type { public static final Type WAR = new Type(ModuleType.WAR); diff -r 0e23f9a2fdf6 j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/InitialServerFileDistributor.java --- a/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/InitialServerFileDistributor.java Thu Nov 29 14:11:09 2012 +0100 +++ b/j2eeserver/src/org/netbeans/modules/j2ee/deployment/impl/InitialServerFileDistributor.java Thu Nov 29 15:08:19 2012 +0100 @@ -206,7 +206,8 @@ J2eeModule.RootedEntry entry = rootedEntries.next(); String relativePath = entry.getRelativePath(); FileObject sourceFO = entry.getFileObject(); - if (sourceFO.isData() && isArchiveInRootDir(root, sourceFO)) { + if ((entry instanceof J2eeModule.RootedEntry2) + && ((J2eeModule.RootedEntry2) entry).isDirectoryDeployIgnored()) { continue; } FileObject destFolder = ServerFileDistributor.findOrCreateParentFolder(destRoot, relativePath); @@ -228,13 +229,6 @@ } } - private boolean isArchiveInRootDir(FileObject root, FileObject sourceFO) { - if (sourceFO.getParent().equals(root) && ("jar".equals(sourceFO.getExt()) || "war".equals(sourceFO.getExt()))) { - return true; - } - return false; - } - //ServerProgress methods private void setStatusDistributeRunning(String message) { notify(createRunningProgressEvent(CommandType.DISTRIBUTE, message));