2010-01-15 5 views
0

Vous essayez de créer une application de test qui importe un autre package de test.Erreur de compilation javac

Les applications test sont répertoriées, tout comme la compilation cmd et err ..

Les fichiers sont tous dans le même répertoire. J'ai été capable de compiler le MyIncorrectnessListener.java, et le MycssErrorHandler.java sans avertissements/erreurs.

J'essaie de comprendre quelle est la cause de l'erreur >>> sjsu_classes.java:33: '.' attendu < < < < <

Tous les pointeurs/commentaires sont appréciés ...

grâce

la compilation cmd/err

[[email protected] parseapp2]# javac -Xlint -classpath '/opt/htmlunit/lib/ 
*:/parseapp2/' sjsu_classes.java sjsu_classes.java:33: '.' expected 
import MyIncorrectnessListener; 
          ^
sjsu_classes.java:33: ';' expected 
import MyIncorrectnessListener; 
          ^
sjsu_classes.java:34: class, interface, or enum expected 
import MycssErrorHandler; 
    ^

3 errors 
3 warnings 



/* 
//  sjsu_classes.java 
// 
//  function handles getting the data from the sjsu course page, and returns the course page/list 
//  for the given Alphabet letter. - handles ane letter at a time.. 
//  -the page is then returned to the calling routinne 
// 
//    input: 
//      args[0] - start url 
//      args[1] - term 
//      args[2] - dept 
// 
//    return: 
//      course page for the term/dept 
// 
*/ 
import java.io.IOException; 
import java.net.URL; 
import java.util.List; 
import java.util.Set; 

import org.apache.commons.httpclient.NameValuePair; 

import com.gargoylesoftware.htmlunit.*; 
import com.gargoylesoftware.htmlunit.html.*; 
import org.w3c.css.sac.ErrorHandler; 
import org.xml.sax.SAXParseException; 

//==my test packages 
import MyIncorrectnessListener; 
import MycssErrorHandler; 

public class sjsu_classes { 

    //public static void main(String[] args) throws Exception { 
    public void main(String[] args) throws Exception { 

      // Create and initialize WebClient object 
     WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); 

      IncorrectnessListener ilisten = new MyIncorrectnessListener(); 
      ErrorHandler ierr = new MycssErrorHandler(); 
      webClient.setIncorrectnessListener(ilisten); 
      webClient.setCssErrorHandler(ierr); 
     webClient.setThrowExceptionOnScriptError(false); 
     webClient.setRefreshHandler(new RefreshHandler() { 
     public void handleRefresh(Page page, URL url, int arg) throws IOException { 
          //System.out.println("handleRefresh"); 
        } 

      }); 

      // visit the page, get the form, get the btn 
      String url_tmp; 
      String url; 
      String Term; 
      String Dept; 
      String tmp1; 
      String tmp2; 

      url_tmp="?FolderPath=PORTAL_ROOT_OBJECT.PA_HC_CLASS_SEARCH&amp;PortalActualURL=https%3a%2f%2fcmshr.sjsu.edu%2fpsc%2fHSJPRDF%2fEMPLOYEE%2fHSJPRD%2fc%2fCOMMUNITY_ACCESS.CLASS_SEARCH.GBL&amp;PortalRegistryName=EMPLOYEE&amp;PortalServletURI=https%3a%2f%2fcmshr.sjsu.edu%2fpsp%2fHSJPRDF%2f&amp;PortalURI=https%3a%2f%2fcmshr.sjsu.edu%2fpsc%2fHSJPRDF%2f&amp;PortalHostNode=HRMS&amp;NoCrumbs=yes"; 

      System.exit(0); 
    } 

}

===== =================

MyIncorrectnessListener test package 
-------------------------------------------- 
/* 
//  MyIncorrectnessListener.java 
// 
//  function handles getting the data from the sjsu course page, and returns the course page/list 
//  for the given Alphabet letter. - handles ane letter at a time.. 
//  -the page is then returned to the calling routinne 
// 
//    input: 
//      args[0] - start url 
//      args[1] - term 
//      args[2] - dept 
// 
//    return: 
//      course page for the term/dept 
// 
*/ 
//==handle the warnings thrown from the js functions.. 

package MyIncorrectnessListener; 

import com.gargoylesoftware.htmlunit.*; 
import com.gargoylesoftware.htmlunit.html.*; 

//public static class MyIncorrectnessListener implements IncorrectnessListener 
public class MyIncorrectnessListener implements IncorrectnessListener 
{ 
    @Override 
public void notify(String arg0, Object arg1) 
{ 
    //System.err.println("Argument : " + arg0.toString() + ", Object :"); 
} 
} 

MycssErrorHandler test package 
-------------------------------- 
/* 
//  MycssErrorHandler.java 
// 
//  function handles getting the data from the sjsu course page, and returns the course page/list 
//  for the given Alphabet letter. - handles ane letter at a time.. 
//  -the page is then returned to the calling routinne 
// 
//    input: 
//      args[0] - start url 
//      args[1] - term 
//      args[2] - dept 
// 
//    return: 
//      course page for the term/dept 
// 
*/ 
package MycssErrorHandler; 

import org.w3c.css.sac.ErrorHandler; 
import org.xml.sax.SAXParseException; 
import com.gargoylesoftware.htmlunit.*; 
import com.gargoylesoftware.htmlunit.html.*; 

//==handle the warnings thrown from the js functions.. 
     //==handle the warnings thrown from the css functions.. 
//  public static class MycssErrorHandler implements DefaultCssErrorHandler 
//  public static class MycssErrorHandler implements ErrorHandler 
//  public class MycssErrorHandler implements ErrorHandler 
     public abstract class MycssErrorHandler implements ErrorHandler 
//  protected class MycssErrorHandler implements ErrorHandler 
     { 
     //@Override 
     public void notify(String arg0, Object arg1) 
     { 
      //System.err.println("Argument : " + arg0.toString() + ",Object : "); 
     } 
     //@Override 
       public void fatalError(SAXParseException ex) 
       { 
         //fatals.add(ex); 
       } 
     } 

Répondre

1

Vos fichiers java doivent être dans un répertoire qui correspond à leurs noms de paquets, de sorte que vous devez placer MyIncorrectnessListener.java dans un répertoire nommé MyIncorrectnessListener, MycssErrorHandler.java dans un répertoire nommé MycssErrorHandler et bientôt. Vous pouvez les placer tous dans le même répertoire, mais vous devez supprimer l'instruction 'package' dans les fichiers. L'erreur que vous obtenez est parce que vous donnez seulement un nom de paquet dans la déclaration d'importation. Vous devriez importer quelque chose de spécifique, ou tout, d'un paquet. Changer à

import MyIncorrectnessListener.MyIncorrectnessListener; 

ou

import MyIncorrectnessListener.*; 

Ou si vous ne placez pas vos fichiers dans tous les packages, vous ne avez pas besoin de déclarations d'importation.