1

Googleでの激しい戦いの後、Java用のApache Commons APIをダウンロードしてセットアップする方法を見つけることができました(これはすべて、テキストのチャンクをラップできるようにするためです:P)。CLASSPATHを正しく作成した後、コンパイラ(コマンドラインの場合はmingw)はライブラリにアクセスして、ファイルをコンパイルできました。ただし、実行すると、ランタイムエラーが発生します。

Exception in thread "AWT-EventQueue-1" java.lang.NoClassDefFoundError: org/apach
e/commons/lang3/text/WordUtils

どこかでApacheクラスを宣言するのを忘れましたか?

問題のあるコードのスニペット:

String strWrap = WordUtils.wrap("A really really really really really long sentence.", 50);
b.drawString(strWrap,20,20);

私のインポートステートメント:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import org.apache.commons.lang3.text.*;

ちなみに、CLASSPATHは環境変数として設定されており、.jarApacheのファイルはプロジェクトの残りの部分と一緒ではないので、いくつかのプロジェクトで使用する予定なので、別のディレクトリに配置します。

4

1 に答える 1

2

CLASS PATHが適切に指定されていることを確認してください。
から Java クラスを実行している場合は、(現在のディレクトリ) ドット (.)command lineを追加する必要があります。

java YourClass -cp .

更新:アプレットを使用している場合は、このアプレット参照を参照してください。

アプレット クラスは、CLASSPATH からではなく、アプレットの CODEBASE (CODEBASE タグが存在しない場合は HTML ファイルのディレクトリ) からロードされるようになっています。CLASSPATH にあるディレクトリにアプレット クラスがある場合、それらのクラスは通常のアプレット セキュリティ制限をバイパスできます。

この環境リファレンスappletviewerを参照してください。

詳細解説:(参考 Java
アプレットが動作するブラウザもあります。これは、本格的な Java インタープリターをブラウザーに組み込むか、ブラウザー拡張機能 (またはプラグイン) としてロードすることによって実現されます。ブラウザーで使用される Java インタープリターは、使用しているブラウザーに応じて、CLASSPATH 環境変数の設定を尊重する場合としない場合があることに注意してください。これは、アプレットをダウンロードするときの動作に影響を与える可能性があります。

Java アプレットは、次のように タグを使用して HTML ページに埋め込まれます。

<applet code="main.class" height="100" width="100"></applet>

ブラウザは、このタグを認識すると、次のことを行います。

  1. まだ実行されていない場合は、Java インタープリターを開始します。
  2. ページ上に指定された量のスペース (100x100) を確保し、そのスペースに Java コンテナーを作成します。
  3. ファイルをダウンロードし、main.classそれが拡張されていることを確認しますjava.applet.Applet(それ自体が java.awt.Panel を拡張します)。ダウンロードは、画像のダウンロードと同じように、単純な GET リクエストを使用して行われます。
  4. アプレットをコンテナーの子として追加します。
  5. init()アプレットでメソッドを呼び出し、次にメソッドを呼び出しますshow()
于 2012-09-26T18:18:03.480 に答える