本文整理汇总了Java中com.intellij.openapi.projectRoots.SdkTable类的典型用法代码示例。如果您正苦于以下问题:Java SdkTable类的具体用法?Java SdkTable怎么用?Java SdkTable使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SdkTable类属于com.intellij.openapi.projectRoots包,在下文中一共展示了SdkTable类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getTargetJdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Nullable
public final Sdk getTargetJdk() {
final XmlTag tag = getXmlTag();
final PsiFile containingFile = tag.getContainingFile();
final AntBuildFileImpl buildFile = (AntBuildFileImpl)AntConfigurationBase.getInstance(containingFile.getProject()).getAntBuildFile(containingFile);
if (buildFile != null) {
String jdkName = AntBuildFileImpl.CUSTOM_JDK_NAME.get(buildFile.getAllOptions());
if (jdkName == null || jdkName.length() == 0) {
jdkName = AntConfigurationImpl.DEFAULT_JDK_NAME.get(buildFile.getAllOptions());
}
if (jdkName != null && jdkName.length() > 0) {
return SdkTable.getInstance().findSdk(jdkName);
}
}
return AntJavaSdkUtil.getBundleSdk();
}
开发者ID:consulo,项目名称:consulo-apache-ant,代码行数:17,代码来源:AntDomProject.java
示例2: getConfiguredAnts
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@NotNull
public Map<AntReference, Sdk> getConfiguredAnts()
{
List<Sdk> sdksOfType = SdkTable.getInstance().getSdksOfType(AntSdkType.getInstance());
Map<AntReference, Sdk> map = new LinkedHashMap<AntReference, Sdk>();
for(Sdk sdk : sdksOfType)
{
if(sdk.isPredefined())
{
map.put(AntReference.BUNDLED_ANT, sdk);
}
else
{
map.put(new AntReference.BindedReference(sdk), sdk);
}
}
return map;
}
开发者ID:consulo,项目名称:consulo-apache-ant,代码行数:19,代码来源:GlobalAntConfiguration.java
示例3: onNewConfigurationCreated
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Override
public void onNewConfigurationCreated(@NotNull RunConfiguration configuration)
{
super.onNewConfigurationCreated(configuration);
JavaEEConfigurationImpl javaEEConfiguration = (JavaEEConfigurationImpl) configuration;
JavaeeServerModel serverModel = (JavaeeServerModel) javaEEConfiguration.getServerModel();
Sdk sdk = SdkTable.getInstance().findMostRecentSdkOfType(myBundleType);
if(sdk != null)
{
javaEEConfiguration.APPLICATION_SERVER_NAME = sdk.getName();
}
serverModel.onNewConfigurationCreated();
}
开发者ID:consulo,项目名称:consulo-javaee,代码行数:18,代码来源:JavaEEConfigurationFactoryImpl.java
示例4: closeAndDeleteProject
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@RequiredWriteAction
public static synchronized void closeAndDeleteProject() {
if (ourProject != null) {
ApplicationManager.getApplication().assertWriteAccessAllowed();
for (Sdk registeredSdk : ourRegisteredSdks) {
SdkTable.getInstance().removeSdk(registeredSdk);
}
((ProjectImpl)ourProject).setTemporarilyDisposed(false);
final VirtualFile projFile = ((ProjectEx)ourProject).getStateStore().getProjectFile();
final File projectFile = projFile == null ? null : VfsUtilCore.virtualToIoFile(projFile);
if (!ourProject.isDisposed()) Disposer.dispose(ourProject);
if (projectFile != null) {
FileUtil.delete(projectFile);
}
ourProject = null;
}
}
开发者ID:consulo,项目名称:consulo,代码行数:19,代码来源:LightPlatformTestCase.java
示例5: initComponent
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Override
public void initComponent() {
if (SystemProperties.is("consulo.disable.predefined.bundles")) {
return;
}
Consumer<SdkImpl> consumer = new Consumer<SdkImpl>() {
@Override
@RequiredDispatchThread
public void consume(final SdkImpl sdk) {
ApplicationManager.getApplication().runWriteAction(() -> {
sdk.setPredefined(true);
SdkTable.getInstance().addSdk(sdk);
});
}
};
for (PredefinedBundlesProvider predefinedBundlesProvider : PredefinedBundlesProvider.EP_NAME.getExtensions()) {
try {
predefinedBundlesProvider.createBundles(consumer);
}
catch (Throwable e) {
LOGGER.error(e);
}
}
}
开发者ID:consulo,项目名称:consulo,代码行数:27,代码来源:PredefinedBundlesLoader.java
示例6: createAndAddSDK
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
/**
* Tries to create an SDK identified by path; if successful, add the SDK to the global SDK table.
*
* @param path identifies the SDK
* @param sdkType
* @param predefined
* @return newly created SDK, or null.
*/
@Nullable
public static Sdk createAndAddSDK(final String path, SdkType sdkType, boolean predefined) {
VirtualFile sdkHome = ApplicationManager.getApplication().runWriteAction(new Computable<VirtualFile>() {
@Override
public VirtualFile compute() {
return LocalFileSystem.getInstance().refreshAndFindFileByPath(path);
}
});
if (sdkHome != null) {
final Sdk newSdk = setupSdk(SdkTable.getInstance().getAllSdks(), sdkHome, sdkType, true, predefined, null, null);
if (newSdk != null) {
addSdk(newSdk);
}
return newSdk;
}
return null;
}
开发者ID:consulo,项目名称:consulo,代码行数:26,代码来源:SdkConfigurationUtil.java
示例7: selectSdkHome
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public static void selectSdkHome(final SdkType sdkType, @Nonnull final Consumer<String> consumer) {
final FileChooserDescriptor descriptor = sdkType.getHomeChooserDescriptor();
if (ApplicationManager.getApplication().isUnitTestMode()) {
Sdk sdk = SdkTable.getInstance().findMostRecentSdkOfType(sdkType);
if (sdk == null) throw new RuntimeException("No SDK of type " + sdkType + " found");
consumer.consume(sdk.getHomePath());
return;
}
FileChooser.chooseFiles(descriptor, null, getSuggestedSdkPath(sdkType), new Consumer<List<VirtualFile>>() {
@Override
public void consume(final List<VirtualFile> chosen) {
final String path = chosen.get(0).getPath();
if (sdkType.isValidSdkHome(path)) {
consumer.consume(path);
return;
}
final String adjustedPath = sdkType.adjustSelectedSdkHome(path);
if (sdkType.isValidSdkHome(adjustedPath)) {
consumer.consume(adjustedPath);
}
}
});
}
开发者ID:consulo,项目名称:consulo,代码行数:25,代码来源:SdkConfigurationUtil.java
示例8: findJdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Nullable
private static Sdk findJdk(@NotNull JavaSdkVersion version)
{
JavaSdk javaSdk = JavaSdk.getInstance();
List<Sdk> javaSdks = SdkTable.getInstance().getSdksOfType(javaSdk);
Sdk candidate = null;
for(Sdk sdk : javaSdks)
{
JavaSdkVersion v = javaSdk.getVersion(sdk);
if(v == version)
{
return sdk;
}
else if(candidate == null && v != null && version.getMaxLanguageLevel().isAtLeast(version.getMaxLanguageLevel()))
{
candidate = sdk;
}
}
return candidate;
}
开发者ID:consulo,项目名称:consulo-java,代码行数:21,代码来源:JavaProjectDataService.java
示例9: getJdkRoot
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Nullable
private static String getJdkRoot(JrePathEditor pathEditor, Module module)
{
if(!pathEditor.isAlternativeJreSelected() && module != null)
{
Sdk sdk = ModuleUtilCore.getSdk(module, JavaModuleExtension.class);
return sdk != null ? sdk.getHomePath() : null;
}
String jrePathOrName = pathEditor.getJrePathOrName();
if(jrePathOrName != null)
{
Sdk configuredJdk = SdkTable.getInstance().findSdk(jrePathOrName);
if(configuredJdk != null)
{
return configuredJdk.getHomePath();
}
else
{
return jrePathOrName;
}
}
return null;
}
开发者ID:consulo,项目名称:consulo-java,代码行数:24,代码来源:ShortenCommandLineModeCombo.java
示例10: createAlternativeJdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
private static Sdk createAlternativeJdk(@NotNull String jreHome) throws CantRunException
{
final Sdk configuredJdk = SdkTable.getInstance().findSdk(jreHome);
if(configuredJdk != null)
{
return configuredJdk;
}
if(!OwnJdkUtil.checkForJre(jreHome))
{
throw new CantRunException(JavaExecutionBundle.message("jre.path.is.not.valid.jre.home.error.message", jreHome));
}
final JavaSdk javaSdk = JavaSdk.getInstance();
return javaSdk.createJdk(ObjectUtil.notNull(javaSdk.getVersionString(jreHome), ""), jreHome);
}
开发者ID:consulo,项目名称:consulo-java,代码行数:17,代码来源:JavaParametersUtil.java
示例11: checkVirtualMachineVersion
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
private void checkVirtualMachineVersion(VirtualMachine vm)
{
final String version = vm.version();
if("1.4.0".equals(version))
{
DebuggerInvocationUtil.swingInvokeLater(myProject, () -> Messages.showMessageDialog(myProject, DebuggerBundle.message("warning.jdk140.unstable"), DebuggerBundle.message("title.jdk140" +
".unstable"), Messages.getWarningIcon()));
}
if(getSession().getAlternativeJre() == null)
{
Sdk runjre = getSession().getRunJre();
if((runjre == null || runjre.getSdkType() instanceof JavaSdkType) && !versionMatch(runjre, version))
{
SdkTable.getInstance().getSdksOfType(JavaSdk.getInstance()).stream().filter(sdk -> versionMatch(sdk, version)).findFirst().ifPresent(sdk ->
{
XDebugSessionImpl.NOTIFICATION_GROUP.createNotification(DebuggerBundle.message("message.remote.jre.version.mismatch", version, runjre != null ? runjre.getVersionString() :
"unknown", sdk.getName()), MessageType.INFO).notify(myProject);
getSession().setAlternativeJre(sdk);
});
}
}
}
开发者ID:consulo,项目名称:consulo-java,代码行数:24,代码来源:DebugProcessImpl.java
示例12: getState
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Nullable
@Override
public RunProfileState getState(@NotNull Executor executor, @NotNull final ExecutionEnvironment executionEnvironment) throws ExecutionException
{
Module module = getConfigurationModule().getModule();
if(module == null)
{
throw new ExecutionException("Module is not set for run configuration");
}
Sdk targetSdk;
if(myUseAlternativeBundle)
{
if(StringUtil.isEmpty(myAlternativeBundleName))
{
throw new ExecutionException("NodeJS alternative bundle is empty");
}
targetSdk = SdkTable.getInstance().findSdk(myAlternativeBundleName);
if(targetSdk == null)
{
throw new ExecutionException("NodeJS alternative bundle '" + myAlternativeBundleName + "' is not found");
}
}
else
{
targetSdk = ModuleUtilCore.getSdk(module, NodeJSModuleExtension.class);
if(targetSdk == null)
{
throw new ExecutionException("NodeJS bundle is undefined in module '" + module.getName() + "'");
}
}
return createRunState(module, targetSdk, executor, executionEnvironment);
}
开发者ID:consulo,项目名称:consulo-nodejs,代码行数:36,代码来源:NodeJSConfigurationBase.java
示例13: ExecutionTab
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public ExecutionTab(final GlobalAntConfiguration antConfiguration, @NotNull final Project project)
{
myAntGlobalConfiguration = antConfiguration;
myAntCommandLine.attachLabel(myAntCmdLineLabel);
myAntCommandLine.setDialogCaption(AntBundle.message("run.execution.tab.ant.command.line.dialog.title"));
setLabelFor(myJDKLabel, myJDKs);
myJDKsController = new ChooseAndEditComboBoxController<Sdk, String>(myJDKs, new Convertor<Sdk, String>()
{
@Override
public String convert(Sdk jdk)
{
return jdk != null ? jdk.getName() : "";
}
}, String.CASE_INSENSITIVE_ORDER)
{
@Override
public Iterator<Sdk> getAllListItems()
{
List<Sdk> sdksOfType = SdkTable.getInstance().getSdksOfType(JavaSdk.getInstance());
List<Sdk> controller = new ArrayList<Sdk>(sdksOfType);
controller.add(0, null);
return controller.iterator();
}
@Override
public Sdk openConfigureDialog(Sdk jdk, JComponent parent)
{
SingleSdkEditor editor = new SingleSdkEditor(jdk, myJDKs.getComboBox());
editor.show();
return editor.getSelectedSdk();
}
};
UIPropertyBinding.Composite binding = getBinding();
binding.bindString(myAntCommandLine.getTextField(), AntBuildFileImpl.ANT_COMMAND_LINE_PARAMETERS);
binding.bindString(myJDKs.getComboBox(), AntBuildFileImpl.CUSTOM_JDK_NAME);
binding.addBinding(new RunWithAntBinding(myUseDefaultAnt, myUseCastomAnt, myAnts, myAntGlobalConfiguration));
}
开发者ID:consulo,项目名称:consulo-apache-ant,代码行数:40,代码来源:BuildFilePropertiesPanel.java
示例14: addSdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public static void addSdk(@Nonnull final Sdk sdk) {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
SdkTable.getInstance().addSdk(sdk);
}
});
}
开发者ID:consulo,项目名称:consulo,代码行数:9,代码来源:SdkConfigurationUtil.java
示例15: removeSdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public static void removeSdk(final Sdk sdk) {
ApplicationManager.getApplication().runWriteAction(new Runnable() {
@Override
public void run() {
SdkTable.getInstance().removeSdk(sdk);
}
});
}
开发者ID:consulo,项目名称:consulo,代码行数:9,代码来源:SdkConfigurationUtil.java
示例16: getDefaultSdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
private static synchronized Sdk getDefaultSdk()
{
if(ourDefaultSdk == null)
{
final String jdkHome = SystemProperties.getJavaHome();
final String versionName = ProjectBundle.message("sdk.java.name.template", SystemProperties.getJavaVersion());
Sdk sdk = SdkTable.getInstance().createSdk(versionName, new SimpleJavaSdkType());
SdkModificator modificator = sdk.getSdkModificator();
modificator.setHomePath(jdkHome);
modificator.commitChanges();
ourDefaultSdk = sdk;
}
return ourDefaultSdk;
}
开发者ID:consulo,项目名称:consulo-xslt,代码行数:16,代码来源:XsltRunConfiguration.java
示例17: getEffectiveJDK
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
@Nullable
public Sdk getEffectiveJDK()
{
if(!XsltRunSettingsEditor.ALLOW_CHOOSING_SDK)
{
return getDefaultSdk();
}
if(myJdkChoice == JdkChoice.JDK)
{
return myJdk != null ? SdkTable.getInstance().findSdk(myJdk) : null;
}
Sdk jdk = null;
final Module module = getEffectiveModule();
if(module != null)
{
ModuleRootManager moduleRootManager = ModuleRootManager.getInstance(module);
ModuleExtension maybeJavaExtension = moduleRootManager.getExtension("java");
if(maybeJavaExtension instanceof ModuleExtensionWithSdk)
{
jdk = ((ModuleExtensionWithSdk) maybeJavaExtension).getSdk();
}
}
// EA-33419
if(jdk == null || !(jdk.getSdkType() instanceof JavaSdkType))
{
return getDefaultSdk();
}
return jdk;
}
开发者ID:consulo,项目名称:consulo-xslt,代码行数:31,代码来源:XsltRunConfiguration.java
示例18: ClientJavaScriptModuleExtension
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public ClientJavaScriptModuleExtension(@NotNull String id, @NotNull ModuleRootLayer rootLayer)
{
super(id, rootLayer);
myPointer = new ModuleInheritableNamedPointerImpl<Sdk>(rootLayer, id)
{
@Nullable
@Override
public String getItemNameFromModule(@NotNull Module module)
{
ClientJavaScriptModuleExtension extension = ModuleUtilCore.getExtension(module, ClientJavaScriptModuleExtension.class);
if(extension == null)
{
return null;
}
return extension.getSdkName();
}
@Nullable
@Override
public Sdk getItemFromModule(@NotNull Module module)
{
ClientJavaScriptModuleExtension extension = ModuleUtilCore.getExtension(module, ClientJavaScriptModuleExtension.class);
if(extension == null)
{
return null;
}
return extension.getSdk();
}
@NotNull
@Override
public NamedPointer<Sdk> getPointer(@NotNull ModuleRootLayer moduleRootLayer, @NotNull String name)
{
return ((ModuleRootLayerImpl)moduleRootLayer).getRootModel().getConfigurationAccessor().getSdkPointer(name);
}
};
Sdk sdkByType = SdkTable.getInstance().findPredefinedSdkByType(ClientJavaScriptSdkType.getInstance());
myPointer.set(null, sdkByType);
}
开发者ID:consulo,项目名称:consulo-javascript,代码行数:41,代码来源:ClientJavaScriptModuleExtension.java
示例19: getTestJdk
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public static Sdk getTestJdk() {
SdkTable sdkTable = SdkTable.getInstance();
for (Sdk sdk : sdkTable.getAllSdks()) {
if (sdk.isPredefined() && sdk.getSdkType() instanceof JavaSdk) {
return sdk;
}
}
return null;
}
开发者ID:consulo,项目名称:consulo-java,代码行数:10,代码来源:JavaTestUtil.java
示例20: AlternativeJREPanel
import com.intellij.openapi.projectRoots.SdkTable; //导入依赖的package包/类
public AlternativeJREPanel() {
myCbEnabled = new JBCheckBox(ExecutionBundle.message("run.configuration.use.alternate.jre.checkbox"));
myFieldWithHistory = new TextFieldWithHistory();
final ArrayList<String> foundJDKs = new ArrayList<String>();
final Sdk[] allJDKs = SdkTable.getInstance().getAllSdks();
for (Sdk jdk : allJDKs) {
foundJDKs.add(jdk.getHomePath());
}
myFieldWithHistory.setHistory(foundJDKs);
myPathField = new ComponentWithBrowseButton<TextFieldWithHistory>(myFieldWithHistory, null);
myPathField.addBrowseFolderListener(ExecutionBundle.message("run.configuration.select.alternate.jre.label"),
ExecutionBundle.message("run.configuration.select.jre.dir.label"),
null, BrowseFilesListener.SINGLE_DIRECTORY_DESCRIPTOR,
TextComponentAccessor.TEXT_FIELD_WITH_HISTORY_WHOLE_TEXT);
setLayout(new MigLayout("ins 0, gap 10, fill, flowx"));
add(myCbEnabled, "shrinkx");
add(myPathField, "growx, pushx");
InsertPathAction.addTo(myFieldWithHistory.getTextEditor());
myCbEnabled.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
enabledChanged();
}
});
enabledChanged();
setAnchor(myCbEnabled);
updateUI();
}
开发者ID:consulo,项目名称:consulo-java,代码行数:34,代码来源:AlternativeJREPanel.java
注:本文中的com.intellij.openapi.projectRoots.SdkTable类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论