0

別のテスト パッケージをインポートするテスト アプリを作成しようとしています。

コンパイル コマンドとエラーと同様に、テスト アプリが一覧表示されます。

ファイルはすべて同じディレクトリにあります。MyIncorrectnessListener.java と MycssErrorHandler.java を警告やエラーなしでコンパイルできました。

エラーの原因を突き止めようとしています >>> sjsu_classes.java:33: '.' 予想される <<<<<

ポインタ/コメントは大歓迎です...

ありがとう

コンパイルコマンド/エラー

[root@toshiba 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);
               }
       }
4

1 に答える 1

1

Java ファイルはパッケージ名と一致するディレクトリに配置する必要があるため、MyIncorrectnessListener.java を MyIncorrectnessListener という名前のディレクトリに配置し、MycssErrorHandler.java を MycssErrorHandler という名前のディレクトリに配置する必要があります。

それらをすべて同じディレクトリに配置することもできますが、ファイル内の「package」ステートメントを削除する必要があります。

取得しているエラーは、インポート ステートメントでパッケージ名のみを指定しているためです。パッケージから特定のもの、またはすべてをインポートする必要があります。に変更します

import MyIncorrectnessListener.MyIncorrectnessListener;

また

import MyIncorrectnessListener.*;

または、ファイルをどのパッケージにも配置しない場合は、インポート ステートメントは必要ありません。

于 2010-01-15T23:58:42.990 に答える