- - PR -
Eclipseでプロファイラを実行において、NoClassDefFoundErrorがでる
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2004-05-05 12:54
Eclipseでプロファイラを実行すると、
NoClassDefFoundErrorがでるのですが、理由がよくわかりません。 Eclipseでプロファイラを実行方法は、下記のURLを参考にしました。 http://www.atmarkit.co.jp/fjava/rensai2/eclipse2_06/eclipse06_1.html プロファイルを行なうソースは、ZipCode.javaでテストプログラムが ZipCodeTest.javaです。二つのソースは一番下に御座います。 テストケースのZipCodeTest#main(String[])をJavaアプリケーションとみなし、 [実行]→[次を実行]→[Profiler]を用いて起動すると java.lang.NoClassDefFoundError: ZipCodeTest がでます。エラー自体は、ZipCodeTest.javaの junit.textui.TestRunner.run(ZipCodeTest.class); の部分ででているかと思われるのですが、 ZipCodeTest.classは存在しているので、エラーがでる理由が わかりません。ファイルの指定方法が悪いのでしょうか? どなたかご存知の方がいらっしゃいましたらご教授 お願い致します。 ---ZipCode.java------- import java.io.*; import java.util.*; public class ZipCode { public static ZipCode searchByZip(String zipCodeString) throws IOException { ZipCode zipCode = null; InputStream t_in = ZipCode.class.getClassLoader().getResourceAsStream("KEN_ALL.CSV"); BufferedReader in = new BufferedReader(new InputStreamReader(t_in)); String line; while ((line = in.readLine()) != null) { zipCode = new ZipCode(line); if (zipCode.郵便番号.equals(zipCodeString)) { break; } } if (line == null) zipCode = null; // 見つからなかったらnullを返す return zipCode; } int 全国地方公共団体コード; String 旧郵便番号; String 郵便番号; String 都道府県名カナ; String 市区町村名カナ; String 町域名半角カナ; public String 都道府県名; public String 市区町村名; public String 町域名; boolean 一町域が二以上の郵便番号で表されるか; boolean 小字毎に番地が起番されているか; boolean 丁目を有する町域か; boolean 一つの郵便番号で二以上の町域を表すか; int 更新の表示; // 「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用)) int 変更理由; // 「0」は変更なし、「1」市政・区政・町政・分区・政令指定都市施行、 // 「2」住居表示の実施、「3」区画整理、「4」郵便区調整、集配局新設、 // 「5」訂正、「6」廃止(廃止データのみ使用)) protected ZipCode(String line) { super(); try { StringTokenizer csvDevider = new StringTokenizer(line, ",\""); if (csvDevider.countTokens() != 15) { throw new InstantiationError("入力フォーマットが異なります; " + line); } this.全国地方公共団体コード = Integer.parseInt(csvDevider.nextToken()); this.旧郵便番号 = csvDevider.nextToken(); this.郵便番号 = csvDevider.nextToken(); this.都道府県名カナ = csvDevider.nextToken(); this.市区町村名カナ = csvDevider.nextToken(); this.町域名半角カナ = csvDevider.nextToken(); this.都道府県名 = csvDevider.nextToken(); this.市区町村名 = csvDevider.nextToken(); this.町域名 = csvDevider.nextToken(); this.一町域が二以上の郵便番号で表されるか = csvDevider.nextToken().equals("1"); this.小字毎に番地が起番されているか = csvDevider.nextToken().equals("1"); this.丁目を有する町域か = csvDevider.nextToken().equals("1"); this.一つの郵便番号で二以上の町域を表すか = csvDevider.nextToken().equals("1"); this.更新の表示 = Integer.parseInt(csvDevider.nextToken()); this.変更理由 = Integer.parseInt(csvDevider.nextToken()); } catch (NumberFormatException ex) { throw new InstantiationError("入力フォーマットが異なります; " + ex.getMessage()); } } } ----ZipCodeTest.java------ import java.io.IOException; import junit.framework.TestCase; public class ZipCodeTest extends TestCase { public void test1040033() { try { ZipCode zip = ZipCode.searchByZip("1040033"); assertNotNull(zip); assertEquals(zip.都道府県名, "東京都"); assertEquals(zip.市区町村名, "中央区"); assertEquals(zip.町域名, "新川"); } catch (IOException ex) { fail(ex.getMessage()); } } public void test1000005() { try { ZipCode zip = ZipCode.searchByZip("1000005"); assertNotNull(zip); assertEquals(zip.都道府県名, "東京都"); assertEquals(zip.市区町村名, "千代田区"); assertEquals(zip.町域名, "丸の内(次のビルを除く)"); } catch (IOException ex) { fail(ex.getMessage()); } } public void test9071801() { try { ZipCode zip = ZipCode.searchByZip("9071801"); assertNotNull(zip); assertEquals(zip.都道府県名, "沖縄県"); assertEquals(zip.市区町村名, "八重山郡与那国町"); assertEquals(zip.町域名, "与那国"); } catch (IOException ex) { fail(ex.getMessage()); } } public static void main(String[] args) { junit.textui.TestRunner.run(ZipCodeTest.class); } public ZipCodeTest(String param) { super(param); } } |
|
投稿日時: 2004-05-05 23:18
自己解決致しました。
Javaのビルドパスの設定をしなおしたり 、いろいろしていたらエラーがでなくなりました。 先程のエラーが再現できなくなってしまったので 再現できたら、原因がどこにあったかご報告致します。 |
1
