当前位置: 首页>>代码示例>>Java>>正文


Java StandardLocation.SYSTEM_MODULES属性代码示例

本文整理汇总了Java中javax.tools.StandardLocation.SYSTEM_MODULES属性的典型用法代码示例。如果您正苦于以下问题:Java StandardLocation.SYSTEM_MODULES属性的具体用法?Java StandardLocation.SYSTEM_MODULES怎么用?Java StandardLocation.SYSTEM_MODULES使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在javax.tools.StandardLocation的用法示例。


在下文中一共展示了StandardLocation.SYSTEM_MODULES属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: listLocationsForModules

@Override
public Iterable<Set<Location>> listLocationsForModules(Location location) throws IOException {
    if (location == StandardLocation.CLASS_OUTPUT) {
        return Collections.emptySet();
    } else if (location == StandardLocation.SYSTEM_MODULES) {
        final ClassPath cp = JavaPlatform.getDefault().getBootstrapLibraries();
        Collection<? extends URL> javaBase = findJavaBase(cp);
        if (javaBase.isEmpty()) {
            javaBase = fakeJavaBase(cp);
        }
        return Collections.singleton(Collections.singleton(new ModLoc(
                StandardLocation.SYSTEM_MODULES,
                "java.base",    //NOI18N
                javaBase)));
    } else {
        return Collections.emptySet();
    }
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:18,代码来源:ModuleNamesTest.java

示例2: findModule

private Location findModule(String moduleName) throws IOException {
    Location[] locns = {
        StandardLocation.UPGRADE_MODULE_PATH,
        StandardLocation.SYSTEM_MODULES,
        StandardLocation.MODULE_PATH
    };
    for (Location segment: locns) {
        for (Set<Location> set: fileManager.listLocationsForModules(segment)) {
            Location result = null;
            for (Location l: set) {
                String name = fileManager.inferModuleName(l);
                if (name.equals(moduleName)) {
                    if (result == null)
                        result = l;
                    else
                        throw new IOException("multiple definitions found for " + moduleName);
                }
            }
            if (result != null)
                return result;
        }
    }
    return null;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:24,代码来源:JavapTask.java

示例3: testSystemModules

@Test
public void testSystemModules(Path base) throws IOException {
    try (StandardJavaFileManager fm = comp.getStandardFileManager(null, null, null)) {
        Location locn = StandardLocation.SYSTEM_MODULES;

        Location javaCompiler = fm.getLocationForModule(locn, "java.compiler");
        // cannot easily verify default setting: could be jrt: or exploded image

        Path override1 = Files.createDirectories(base.resolve("override1"));
        fm.setLocationForModule(locn, "java.compiler", List.of(override1));
        checkEqual("override setting 1",
                fm.getLocationAsPaths(javaCompiler), override1);

        Path override2 = Files.createDirectories(base.resolve("override2"));
        fm.setLocationFromPaths(javaCompiler, List.of(override2));
        checkEqual("override setting 2",
                fm.getLocationAsPaths(javaCompiler), override2);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:19,代码来源:SetLocationForModule.java

示例4: createSystemModuleFileManager

@NonNull
private JavaFileManager createSystemModuleFileManager() {
    if (emitted[SYS_MODULES] == null) {
        emitted[SYS_MODULES] = new ModuleFileManager(
            cap,
            moduleBoot,
            peersMap.getOrDefault(moduleBoot, ROOT_TO_COLLECTION),
            sourceLevel,
            StandardLocation.SYSTEM_MODULES,
            true);
    }
    return emitted[SYS_MODULES];
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:13,代码来源:ProxyFileManager.java

示例5: hasLocation

@Override
public boolean hasLocation(Location location) {
    return location == StandardLocation.CLASS_OUTPUT ||
            location == StandardLocation.SYSTEM_MODULES;
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:5,代码来源:ModuleNamesTest.java

示例6: scanModulePath

private List<ModuleSymbol> scanModulePath(ModuleSymbol toFind) {
    ListBuffer<ModuleSymbol> results = new ListBuffer<>();
    Map<Name, Location> namesInSet = new HashMap<>();
    boolean multiModuleMode = fileManager.hasLocation(StandardLocation.MODULE_SOURCE_PATH);
    while (moduleLocationIterator.hasNext()) {
        Set<Location> locns = (moduleLocationIterator.next());
        namesInSet.clear();
        for (Location l: locns) {
            try {
                Name n = names.fromString(fileManager.inferModuleName(l));
                if (namesInSet.put(n, l) == null) {
                    ModuleSymbol msym = syms.enterModule(n);
                    if (msym.sourceLocation != null || msym.classLocation != null) {
                        // module has already been found, so ignore this instance
                        continue;
                    }
                    if (fileManager.hasLocation(StandardLocation.PATCH_MODULE_PATH) &&
                        msym.patchLocation == null) {
                        msym.patchLocation =
                                fileManager.getLocationForModule(StandardLocation.PATCH_MODULE_PATH,
                                                                 msym.name.toString());
                        if (msym.patchLocation != null &&
                            multiModuleMode &&
                            fileManager.hasLocation(StandardLocation.CLASS_OUTPUT)) {
                            msym.patchOutputLocation =
                                    fileManager.getLocationForModule(StandardLocation.CLASS_OUTPUT,
                                                                     msym.name.toString());
                        }
                    }
                    if (moduleLocationIterator.outer == StandardLocation.MODULE_SOURCE_PATH) {
                        msym.sourceLocation = l;
                        if (fileManager.hasLocation(StandardLocation.CLASS_OUTPUT)) {
                            msym.classLocation =
                                    fileManager.getLocationForModule(StandardLocation.CLASS_OUTPUT,
                                                                     msym.name.toString());
                        }
                    } else {
                        msym.classLocation = l;
                    }
                    if (moduleLocationIterator.outer == StandardLocation.SYSTEM_MODULES ||
                        moduleLocationIterator.outer == StandardLocation.UPGRADE_MODULE_PATH) {
                        msym.flags_field |= Flags.SYSTEM_MODULE;
                    }
                    if (toFind == null ||
                        (toFind == msym && (msym.sourceLocation != null || msym.classLocation != null))) {
                        // Note: cannot return msym directly, because we must finish
                        // processing this set first
                        results.add(msym);
                    }
                } else {
                    log.error(Errors.DuplicateModuleOnPath(
                            getDescription(moduleLocationIterator.outer), n));
                }
            } catch (IOException e) {
                // skip location for now?  log error?
            }
        }
        if (toFind != null && results.nonEmpty())
            return results.toList();
    }

    return results.toList();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:63,代码来源:ModuleFinder.java

示例7: SystemModulesLocationHandler

SystemModulesLocationHandler() {
    super(StandardLocation.SYSTEM_MODULES, Option.SYSTEM);
    systemJavaHome = Locations.javaHome;
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:4,代码来源:Locations.java


注:本文中的javax.tools.StandardLocation.SYSTEM_MODULES属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。