0

データベース接続をテストするためにTest.javaを作成しました。

「javacTest.java」を使用して正常にコンパイルしました。

しかし、「java-cp...」を使用してプログラムを実行することはできません。

>AssetMgmtDbTest me$ pwd
/Users/me/Workspace/tmp/AssetMgmtDbTest
>AssetMgmtDbTest me$ ls
Test.class  Test.java   classes12.jar   ojdbc6.jar
>AssetMgmtDbTest me$ java -cp ojdbc6.jar Test
Exception in thread "main" java.lang.NoClassDefFoundError: Test
Caused by: java.lang.ClassNotFoundException: Test
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

お知らせ下さい。

ありがとう、ケビン

4

2 に答える 2

2

現在のディレクトリをクラスパスに追加します。

>AssetMgmtDbTest me$ java -cp ojdbc6.jar:. Test

jar の後の追加:.(コロン + ドット) に注意してください。

パッケージを使い始めると、ディレクトリ構造が重要になるため、事態はさらに複雑になります。詳細については、この回答を参照してください。

于 2012-10-05T15:09:13.540 に答える
0

java xxx.java : 必要なすべてのクラスがそのクラスパスまたは標準 Java ライブラリの一部にあると想定します。

クラスに追加の jar またはクラスが必要な場合は、クラスパスでこれを java -classpath .:xxx.jar Class name として指定する必要があります。

参照されたクラスが任意のディレクトリの一部である場合は、 java -classpath dir xxx

さらに、main メソッドを持つクラスがいくつかのパッケージに配置されている場合は、 java -classpath dir pkg.xxx を使用します

于 2015-08-12T08:54:19.203 に答える