在Eclipse中,我在哪里可以找到JUNIT_CONTAINER的值?

3

我需要找出以下路径在哪个路径中得到解析:

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

在“Window->Preferences, Java->Build Path->Classpath Variables”中找不到任何classpath变量。

我该在哪里找到“JUNIT_CONTAINER/4”的值?

谢谢。

3个回答

4

"con"类型的classpathentry表示类路径容器

来自Java Class Paths帮助页面

表示类路径容器的条目:
对项目或库的结构化集合的间接引用。
类路径容器用于引用描述复杂库结构的一组类路径条目。
类似于类路径变量,类路径容器(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

请尝试点击“帮助”->“关于Eclipse平台”->“配置详细信息”。


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);
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接