SDK
每个项目都使用软件开发工具包(SDK). 对于Java项目,SDK称为JDK(Java Development Kit). SDK确定用于构建项目的API库. 如果您的项目是多模块,则默认情况下项目SDK对于项目中的所有模块都是通用的. (可选)您可以为每个模块配置各个SDK. 有关SDK的更多信息,请参阅IntelliJ IDEA Web帮助中的SDK.
获取项目SDK信息
有关项目SDK的主要信息可以通过ProjectRootManager.java访问,如下例所示
Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk();
获取和设置项目SDK属性
*获取项目级SDK
Sdk projectSDK = ProjectRootManager.getInstance(project).getProjectSdk();
-
To get the project level SDK name:
String projectSDKName = ProjectRootManager.getInstance(project).getProjectSdkName();
-
To set the project level SDK:
ProjectRootManager.getInstance(project).setProjectSdk(Sdk jdk);
-
To set the project level SDK name:
ProjectRootManager.getInstance(project).setProjectSdkName(String name);
See the following code sample to get more familiar with SDK manipulation tool set.
使用自己的SDK
要创建自己的SDK,您需要创建一个类extends SdkType,将saveAdditionalData
留空,
将它注册到com.intellij.sdkType
扩展点.
要使您的SDK设置保持不变,您应该覆盖setupSdkPaths
并通过modificator.commitChanges()
保存您的设置:
@Override
public boolean setupSdkPaths(@NotNull Sdk sdk, @NotNull SdkModel sdkModel) {
SdkModificator modificator = sdk.getSdkModificator();
modificator.setVersionString(getVersionString(sdk));
modificator.commitChanges(); // save
return true;
}
要让用户选择SDK,请参阅ProjectJdksEditor.
但是,建议不要在非IDEA IDE中使用“SDK”.
虽然“SDK”在大多数JB产品中都可用,但ProjectJdksEditor
是IntelliJ特有的,使得围绕“SDK”的操作变得困难.
管理“SDK”设置的最佳推荐方法是创建CustomStepProjectGenerator
在[PersistentStateComponent
]中实现和保存设置(/basics/persisting_state_of_components.md).