代码之家  ›  专栏  ›  技术社区  ›  guerda

在哪里可以找到Eclipse中junit容器的值?

  •  3
  • guerda  · 技术社区  · 16 年前

    我需要找出以下路径的解决路径:

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

    它不是类路径变量。 Window->Preferences, Java->Build Path->Classpath Variables .

    我在哪能找到值von JUNIT_CONTAINER/4 ?

    谢谢

    3 回复  |  直到 16 年前
        1
  •  4
  •   VonC    16 年前

    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
  •  2
  •   Mark    16 年前

    尝试帮助->关于Eclipse平台->配置详细信息。

        3
  •  0
  •   guerda    16 年前

    一个简单的解决方案是这个JUnit测试。
    它必须是一个测试,因为Eclipse只将所需的库设置为ClassPath系统属性:

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