2013-04-12 5 views
11

(私はこのトピックに関する他の質問を読んだことがありますが、どれも助けてくれませんでした)タイプのみインポートできます。 ABCはパッケージに解決します

OK、私はJSPファイルにJavaクラスをインポートしようとしています。エラー:

org.apache.jasper.JasperException: Unable to compile class for JSP:

An error occurred at line: [16] in the generated java file: [I:\path\to\index_jsp.java] 
Only a type can be imported. org.runas.XKCDUtils resolves to a package 

An error occurred at line: 7 in the jsp file: /index.jsp 
XKCDUtils cannot be resolved 
4: String data = null; 
5: int finalComic = 1; 
6: int comicNo = 1; 
7: finalComic = XKCDUtils.getFinalComic(); 
8: 
9: if (request.getParameter("page") != null) 
10:   comicNo = Integer.parseInt(request.getParameter("page")); 

私のJSPファイル内のimport文がされています。私のディレクトリ構造の関連するセクションがある

<%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %> 

webapps 
`-ROOT 
`-index.jsp 
|-WEB-INF 
    `-web.xml 
    |-classes 
    `-org 
    `-runas 
    `-XKCDUtils.class 

私は、org.runas.XKCDUtils resolves to a packageという理由で混乱していますが、それは明らかにクラスファイルであり、正しいディレクトリだと思います。

助けてください!

(そして、私はそれらをきれいにしようとしている、スクリプトレットを使用するための私を厳しく非難しないでください!)

+0

[この回答](http://stackoverflow.com/questions/1858463/java-error-only-a-type-can-be-imported-xyz-resolves-to-a-package)を見てください。 。 3つの別々のものにインポートを分割し、おそらく最後のものにセミコロンを追加します。 –

答えて

7

さて、これは奇妙です。 インポートを3つのインポートに分割しました。

<%@page import="java.io.*" %> 
<%@page import="java.net.*" %> 
<%@page import="org.runas.XKCDUtils" %> 

魔法のように動作することにしました。その後、私が輸入品を元に戻したとき、

<%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %> 

それは魔法のように働くことに決めました。

多分、Tomcatを再起動することと関係がありましたか?とにかく、今はうまくいきます。

+2

_ Tomcatを再起動すると何か関係があったのでしょうか?_ - かなりです。ライブラリをインストールした後、Tomcatを再起動してロードする必要があります。だから明らかに、あなたの質問への答えは:Tomcatを再起動します。新しい回答を自由に追加して、受け入れられた通りに選択してください。 – Alberto

2

私は正確にエラーの原因は考えているが、私は

<%@page import="java.io.*, java.net.*, org.runas.*" %> 

<%@page import="java.io.*, java.net.*, org.runas.XKCDUtils" %> 

を変更し、それが働きました。エラーの解釈は、何らかの理由でTomcatがXKCDUtilsがパッケージであり、パッケージ内のクラスではないと思うということです。 *でインポートすると、クラスがインポートされていることが明確になります。

3

私は同じ問題を抱えていました。サーバー(私の場合はTomcat)を停止し、プロジェクトを再構築することで解決しました。

+0

サーバーを再起動すると、問題が解決しました。 – Templar

関連する問題