3

デバッグとテストのために、test-folder で単一の .java ファイルを実行したいだけです。メインフォルダーで実行すると問題ありませんが、テストフォルダーで実行するとエラーが発生します。

私のプロジェクト構造:

src
|_____ main
      |_____ java -> MainSrc.java
|_____ test
      |_____ java -> MainTest.java

MainSrc / MainTest.java には以下が含まれます。

public class MainSrc / MainTest
{
    public static void main(String[] args)
    {
        System.out.println("test");
    }
}

ここで、netbeans の両方で右クリックして「ファイルを実行」をクリックすると、次のようになります。

main\java\MainSrc.java

run:
test
BUILD SUCCESSFUL (total time: 0 seconds)

test\java\MainTest.java

cd C:\Java\MainTest; "JAVA_HOME=C:\\Program Files (x86)\\Java\\jdk1.7.0_02" 
"\"C:\\Program Files\\NetBeans 7.2\\java\\maven\\bin\\mvn.bat\"" 
"-Dexec.args=-classpath %classpath Test" 
"-Dexec.executable=C:\\Program Files (x86)\\Java\\jdk1.7.0_02\\bin\\java.exe" 
-Dexec.classpathScope=test --offline --errors process-classes org.codehaus.mojo:exec-maven-plugin:1.2:exec
Error stacktraces are turned on.
Scanning for projects...

------------------------------------------------------------------------
Building Test 1.0
------------------------------------------------------------------------

[resources:resources]
[debug] execute contextualize
Using 'windows-1252' encoding to copy filtered resources.
Copying 0 resource

[compiler:compile]
Nothing to compile - all classes are up to date

[exec:exec]
Error: could not find or load main class MainTest
------------------------------------------------------------------------
BUILD FAILURE

私の行動は(classPathScope = testも試しました):

    <action>
        <actionName>run</actionName>
        <goals>
            <goal>process-classes</goal>
            <goal>org.codehaus.mojo:exec-maven-plugin:1.2:exec</goal>
        </goals>
        <properties>
            <exec.args>-classpath %classpath MainTest</exec.args>
            <exec.executable>java</exec.executable>
            <exec.classpathScope>${classPathScope}</exec.classpathScope>
            <exec.workingdir>D:\Dropbox\Java\Test Automation Selenium</exec.workingdir>
        </properties>
    </action>

私はJavaのプロではありません。ほとんどの場合、一緒にグーグル検索しましたが、これに対する解決策が見つかりませんでした。また、なぜそれが機能しないのか理解できません。デフォルトのパッケージからテスト パッケージにアクセスしようとしましたが、できませんでした...

助けてください?:) ありがとうございました

4

1 に答える 1

3

これは魔法の「メイン クラスが見つかりません」という例外のように聞こえます (そうでない場合は申し訳ありません!)。

私はこれを NB ユーザーのメーリングリストで何度も見てきましたが、年に 1 度、この魔法の例外に出くわしました。私が見つけた解決策を集めましたが、それは通常、これらの種類の例外/エラーを修正するのに役立ちました (リストは NB 6.8 の時点に基づいていますが、まだ保持されている可能性があります)。

  • メイン メソッドを含むパブリック クラスがあることを確認します
  • このクラスには、適切に定義されたメイン メソッドが必要です: “public static void main(String[] args) { }“
  • 正しいクラスを使用してプロジェクト構成をセットアップしました: [プロジェクト プロパティ] > [実行] > [メイン クラス] (プロジェクト プロパティ ファイルが再度書き込まれるように、もう一度設定するだけでかまいません)。
  • プロジェクトの再構築を試みます: Menu > Run > Clean & Build Main Project
  • まだ成功していませんか?クラスの名前を変更し (Foo -> Foo1)、名前を元に戻します (Foo1 -> Foo)。これにより、このファイルの NetBeans キャッシュが無効になります (仮定として、私は NetBeans 開発者ではありません)。
  • それでも成功しない??ディレクトリ「.netbeans\6.8\var\cache」を削除して、NetBeans キャッシュをクリアする必要がある場合があります (もちろん、6.8 は NetBeans のバージョンによって異なります)。キャッシュを削除する前に NetBeans を閉じます。NB がコードを再度スキャンする必要がある可能性が高いため、次回の起動には時間がかかる場合があります。
  • まだ運がない?NetBeans ユーザー フォーラムまたは nbusers-Mailinglist を参照することをお勧めします (親切に、辛抱強く、他の人が助けられる方法でバグを報告してください)。
于 2012-10-17T20:09:48.903 に答える