2015-06-09 2 views
1

Я пытаюсь запустить приложение Java, но он дает мне ошибку, как этотОшибка при применении Java

/home/irvank/.cache/netbeans/8.0.2/executor-snippets/run.xml:48: 
Cancelled by user. 

Вот мой код до сих пор, RetrieveUserAttributes.java:

import java.util.Hashtable; 
import javax.naming.Context; 
import javax.naming.NamingEnumeration; 
import javax.naming.NamingException; 
import javax.naming.directory.Attributes; 
import javax.naming.directory.SearchControls; 
import javax.naming.directory.SearchResult; 
import javax.naming.ldap.InitialLdapContext; 
import javax.naming.ldap.LdapContext; 

public class RetrieveUserAttributes { 

    public static void main(String[] args) { 
     RetrieveUserAttributes retrieveUserAttributes = new RetrieveUserAttributes(); 
     retrieveUserAttributes.getUserBasicAttributes("testuser", retrieveUserAttributes.getLdapContext()); 
    } 

    public LdapContext getLdapContext(){ 
     LdapContext ctx = null; 
     try{ 
      Hashtable<String, String> env = new Hashtable<String, String>(); 
      env.put(Context.INITIAL_CONTEXT_FACTORY, 
        "com.sun.jndi.ldap.LdapCtxFactory"); 
      env.put(Context.SECURITY_AUTHENTICATION, "Simple"); 
      env.put(Context.SECURITY_PRINCIPAL, "your username"); 
      env.put(Context.SECURITY_CREDENTIALS, "Password"); 
      env.put(Context.PROVIDER_URL, "ldap://serverlocation:389"); 
      ctx = new InitialLdapContext(env, null); 
      System.out.println("Connection Successful."); 
     }catch(NamingException nex){ 
      System.out.println("LDAP Connection: FAILED"); 
      nex.printStackTrace(); 
     } 
     return ctx; 
    } 

    private User getUserBasicAttributes(String username, LdapContext ctx) { 
     User user=null; 
     try { 

      SearchControls constraints = new SearchControls(); 
      constraints.setSearchScope(SearchControls.SUBTREE_SCOPE); 
      String[] attrIDs = { "distinguishedName", 
        "sn", 
        "givenname", 
        "mail", 
        "telephonenumber"}; 
      constraints.setReturningAttributes(attrIDs); 
      //First input parameter is search bas, it can be "CN=Users,DC=YourDomain,DC=com" 
      //Second Attribute can be uid=username 
      NamingEnumeration answer = ctx.search("DC=YourDomain,DC=com", "sAMAccountName=" 
        + username, constraints); 
      if (answer.hasMore()) { 
       Attributes attrs = ((SearchResult) answer.next()).getAttributes(); 
       System.out.println("distinguishedName "+ attrs.get("distinguishedName")); 
       System.out.println("givenname "+ attrs.get("givenname")); 
       System.out.println("sn "+ attrs.get("sn")); 
       System.out.println("mail "+ attrs.get("mail")); 
       System.out.println("telephonenumber "+ attrs.get("telephonenumber")); 
      }else{ 
       throw new Exception("Invalid User"); 
      } 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 
     return user; 
    } 

} 

Я использую Netbeans ,

Я не могу понять, в чем проблема, почему она не компилируется?

Строка в XML является:

<translate-classpath classpath="${classpath}" targetProperty="classpath-translated" /> 
+0

BTW Я не думаю, что сообщение об ошибке связано с дисковым пространством. Речь идет о неудовлетворительном куче/perm gen. –

+0

Это может быть ошибка кэша. Попробуйте выйти из netbeans, удалить каталог кеша, а затем запустить его снова. – RealSkeptic

+0

Я не понимаю, вы можете объяснить это более четко? –

ответ

1

Там нет ничего плохого с RetrieveUserAttributes.java, это проблема в файле XML, и действительно это не проблема в файле XML, но проблема IDE.

Та же проблема, которую я видел с помощью Eclipse 4.3.2. Это говорит о том, что в вашей рабочей области что-то повреждено, поэтому перезапустите среду IDE, а если нет, попробуйте создать новое рабочее пространство.

Смежные вопросы