errorprone - spotbugs java version




Eclipse-java.lang.ClassNotFoundException (20)

EclipseからJUnit-Testを起動しようとすると、「ClassNotFoundException」が発生します。 コンソールから "mvn test"を実行すると、すべて正常に動作します。 また、Eclipseには何の問題も報告されていません。

プロジェクトの構成は次のとおりです。

  • 親プロジェクト(pom-packaging)
    • Webプロジェクト(war-packaging - 私のJUnitテストがここにあります)
    • Flexプロジェクト
    • 設定プロジェクト

編集:どのようにクラスが見つかりません? 特別なライブラリを持たない単純なHelloWorld-Applicationです。

JUnitの実行コンフィギュレーションは次のとおりです: alt text http://www.walkner.biz/_temp/runco​​nfig.png

Testclass(しかし、私が言ったように、単純なHelloWorldでは動作しません...):

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import biz.prognoserechnung.domain.User;
import biz.prognoserechnung.domain.UserRepository;
import biz.prognoserechnung.domain.hibernate.UserHibernateDao;

public class UserDaoTest {
/**
 * the applicationcontext.
 */
private ApplicationContext ctx = null;

/**
 * the user itself.
 */
private User record = null;

/**
 * Interface for the user.
 */
private UserRepository dao = null;

@Before
public void setUp() throws Exception {
String[] paths = { "WEB-INF/applicationContext.xml" };
ctx = new ClassPathXmlApplicationContext(paths);
dao = (UserHibernateDao) ctx.getBean("userRepository");
}

@After
public void tearDown() throws Exception {
dao = null;
}

@Test
public final void testIsUser() throws Exception {
Assert.assertTrue(dao.isUser("John", "Doe"));
}

@Test
    public final void testIsNoUser() throws Exception {
    Assert.assertFalse(dao.isUser("not", "existing"));
        Assert.assertFalse(dao.isUser(null, null));
        Assert.assertFalse(dao.isUser("", ""));
    }
}

EclipseからのJUnitテストでもNoClassDefFoundErrorが得られました。 無効なLOCヘッダー(不正な署名)ローカルm2リポジトリからこれらのjarファイルを削除し、 'mvn clean test'を実行すると、問題が解決しました。


JUnit 4.4は、JMockit / JUnitとの統合ではサポートされていません。 バージョン4.5以降のみがサポートされています。


Sachinの権利:正しいクラスパスがあっても、テストクラスに変更を加えたり作成したりするときに、依存関係やリソース/プロジェクトに修正が必要なエラーがあることが問題のタブに表示されます。 。

"こんにちは、

それは非常に古い7月(その年)しかし私は同じ問題を抱えていた。

実際の問題では、EclipseがJavaファイルのクラスファイルを生成できないことが判明しました。クラスパスは適切でした。

問題のタブを見て、あなたのプロジェクトに何か/ファイルがないか確認してください。 新しいprojを作成し、ファイルを1つずつ追加してクラスのコンパイルと作成を停止するまでビルドすることができます(クラスの作業領域/ proj / bin / package / folderを確認してください)

その理想的ではありませんが、ecpliseは、20のJavaファイルのうち4つが失われた単一のイメージを使用していたため、合併が失敗していました。 その結果、javaファイルはコンパイルされませんでした。

CLASSPATHはここで問題にはなりません。


Windows>環境設定> Java>インストールされたJREからJDKを修正するように指示してください。

jreを指さないで、適切なJDKを指してください。 私はJDK 1.6U29を指摘し、プロジェクトをリフレッシュしました。

今後、問題はなくなり、jUnitテストは正常に動作しています。

ありがとう、
-タパス


project->properties->Java build path->Sourceをクリックしてproject->properties->Java build path->Sourcesrcフォルダがまだ存在するか、または最近削除されたことを確認してください。 不足しているパスや不正なパスを修正し、テストを再構築して実行してください。 問題を解決します。


試した

Link : [here][1]

Open your run configurations
Click on the jUnit-Test you want to start
go to the classpath tab
Try to add a folder (click on user entries, click on advanced, click on add folders,click on ok and search the outputfolder for your test classes(those you find under projektproperties java build path, source))

後に働いた

Maven 2 LifeCycle >>テスト


うーん、少し奇妙に見えますが、クラスの上部にある次のアノテーションを付けて実行してみてください:

@RunWith(SpringJUnit4ClassRunner.class)
public class UserDaoTest {
}

あなたがそれをどのように乗り越えるかを教えてください。

ビルドが自動的に有効になっていることを確認してください。 テストクラスが正しくコンパイルされていることを確認するには、Mavenのターゲットフォルダ(およびEclipseが使用している可能性がある任意のbinフォルダ)をクリアします。 m2eclipseも使用していますが、問題が少しあります。


ここには多くの複雑な提案があります。

ドラッグアンドドロップでリソースを移動したり、クラス名をリファクタリングしたりして、Mavenプロジェクトでこの問題が複数回発生しました。

これが発生した場合は、問題のテストケース( .java )をターミナル/ファイルブラウザ経由で別の場所にコピー(移動しない)し、Eclipseでright-click -> Deleteを選択し、コピーしたファイルを元のファイルの場所にコピーし、Eclipseでプロジェクトを選択し、F5キーを押してリソースをリフレッシュします。

これはすばやく簡単ですし、毎回問題を永久に解決しました。


この問題は、ビルドフォルダのクラスファイルが見つからないことがあります。 1つの解決策は、プロジェクトをきれいにして再構築することです。


この長い記事で読んだことはすべて試してみましたが、テストクラスをクリックしてRun as JUnit testを選択し、テストメソッドをクリックしてRun as JUnit testするのではなく、信じられないほど私にとってうまくいきました。 なぜ私は考えていない?


さらに、Eclipseの「Web Deployment Assembly」ダイアログをダブルチェックします。

これはプロジェクトのプロパティ - >展開アセンブリです。

最近私はEclipseプラグインを使って自分のWebプロジェクトを修正していました。それは〜不思議なことに、mavenテストディレクトリ/ src / test / java、/ src / test / resourcesをDeployment Assemblyに追加しました。 UGGGG !!!

だから私のプロジェクトはうまくいきました。なぜなら、ClassNotFoundExceptionsはありません。しかし、Eclipseを使ってデプロイしたとき、Whammo !! TestCodeがデプロイされているので、ClassNotFoundExceptionsを取得し始めます。

エリック


そのBulitパスを解決する--->ライブラリ--->ライブラリを追加---> Junit check junit4


カルロスのアプローチが助けになった! Eclipse - java.lang.ClassNotFoundException

junit実行コンフィギュレーションのクラスパスを確認してみてください:

  1. 実行コンフィギュレーションを開く
  2. 開始するjUnit-Testをクリックします。
  3. クラスパスタブに移動します。
  4. フォルダを追加しようとします(ユーザーの項目をクリックし、詳細をクリックしてフォルダを追加し、OKをクリックして、テストクラス(プロジェクトプロパティのjava build path、sourceの下にあるもの)のoutputfolderを検索します)

私のために働く。


テスト起動設定に次の行が含まれていないことを確認するか、自動Maven依存関係管理を有効にしてみてください。

<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.classpathProvider"/>
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.maven.ide.eclipse.launchconfig.sourcepathProvider"/>

プロジェクトをEclipseから削除すると(ハードディスクではなく)、ワークスペースをクリーニングして、プロジェクトをEclipseに再度インポートすることは、私にとってはうまくいきました。


私がしたのは、Properties - > Java Build Path - > Order and Export - >すべての未チェックボックスを有効にした - > Junitをすべて上に移動した


私はその状況を何度も経験し、多くの試みの後に解決策を見つけました。

プロジェクトのビルドパスを確認し、各フォルダの特定の出力フォルダを有効にします。 プロジェクトの各ソースフォルダを1つずつ移動し、mavenが使用する出力フォルダを設定します。

たとえば、Webプロジェクトのsrc/main/javaはWebプロジェクトの下にtarget/classesがあり、テストクラスにはWebプロジェクトの下にtarget/test-classesもあるはずです。

この構成を使用すると、eclipseで単体テストを実行できます。

Webプロジェクトのテストでリソースの下にあるいくつかの設定ファイルが必要な場合は、そのフォルダをソースフォルダとして含めて、適切なビルドパス設定を作成するようにしてください。

それが役に立てば幸い。


私はまったく同じ問題を抱えていましたが、私はそれを理解しました! プロジェクトファイルに移動して右クリックし、[ Refresh ]をクリックするか、F5キーを押します。 次にそれを試して実行します。 それでも問題が解決しない場合は、忘れてしまいます。私はEclipseと同じ問題を抱えています。つまり、Eclipseのバージョンがゴミだということです。


私もこの問題にぶつかり、私の場合には十分な解決策を考え出すことができました。 Eclipseプロジェクトのプロジェクトルートに.classpathファイルがある場合(パッケージエクスプローラビューの代わりにナビゲータビューに表示されます)、JREコンテナクラスのパケットに先立ってMavenクラスパターンが表示されていることを確認してください。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
</classpath>

プロジェクトに.classpathファイルがない場合、プロジェクトのJava Build Pathを編集して、OrderとExportを切り替えることができます。 プロジェクトに.classpathファイルがあり、Javaビルドパスでの注文の変更だけの場合は、注文に影響はなく、引き続き問題が発生することがわかります。

そして、あなたが変更を行った後、プロジェクト - >クリーンは物事を傷つけることはありません。


私も同じ問題がありました。 私がしたことはすべて、

私)。 生成されたEclipse成果物

mvn clean eclipse:eclipse

ii)。 プロジェクトをリフレッシュし、junitテストを再実行します。 うまく動作するはずです。





maven-2