2009-07-17 29 views
3

私はこの次のパスが解決されたパスで、見つける必要があります。EclipseでJUNIT_CONTAINERの値はどこにありますか?

<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> 

それはウンターWindow->Preferences, Java->Build Path->Classpath Variablesを見つけすべきクラスパスvariablません。

ここで値von JUNIT_CONTAINER/4を見つけることができますか?

ありがとうございました

答えて

4

classpathentry「con」は、クラスパスコンテナを意味します。 Java Class Paths help pageから

:クラスパスコンテナを示す

エントリ:
プロジェクトまたはライブラリの構造化されたセットへの間接参照。
クラスパスコンテナは、複雑なライブラリ構造を記述する一連のクラスパスエントリを参照するために使用されます。
クラスパスの変数と同様に、クラスパスコンテナ(IClasspathContainer)はであり、動的に解決されるのはです。
クラスパスコンテナは、異なるプロジェクトによって使用され、パスエントリがプロジェクトごとに異なる値に解決される可能性があります。
彼らはまた、それらが表すライブラリに関するメタ情報提供(ライブラリの名前、種類、説明を。)

クラスパスコンテナはjavacoreの収集方法getClasspathContainerとsetClasspathContainerを介して操作することができます。


だからあなたの場合には、解決されたパスについては本当に確かに、あなたはこのClassPathUtils

case IClasspathEntry.CPE_CONTAINER: 
{ 
    final IClasspathContainer container; 

    try 
    { 
     container = JavaCore.getClasspathContainer(entry.getPath(), jproj); 
    } 
    catch(JavaModelException e) 
    { 
     Logger.getLogger().logError(e); 
     continue; 
    } 

    if(container != null) 
    { 
     final IClasspathEntry[] containerEntries 
     = container.getClasspathEntries(); 

     for(int j = 0; j < containerEntries.length; j++) 
     { 
     resolved.add(containerEntries[ j ].getPath()); 
     } 
    } 
} 
2

[ヘルプ] - > About Eclipse Platform - >設定の詳細をお試しください。

0

のように簡単な解決策は、この小さなJUnitテストで、これらの呼び出しによって、独自のプロジェクトを問い合わせることができます。
Eclipseはクラスパスに必要なライブラリのみを設定するため、テストでなければなりません。システムプロパティ:

import static org.junit.Assert.assertTrue; 
import org.junit.Test; 

public class TestApp { 
    @Test 
    public void bla() { 
     System.out.println(System.getProperty("java.class.path")); 
     assertTrue(true); 
    } 
} 
関連する問題