首页 > 编程语言 >idea sdk源码分析

idea sdk源码分析

时间:2022-09-05 12:46:13浏览次数:89  
标签:模块 getInstance idea project 源码 ProjectRootManager sdk SDK

idea 中支持编译build,构建语言一般需要一个sdk。

1.什么是sdkidea官方原文如下:

Every project uses a Software Development Kit (SDK). For Java projects, SDK is referred to as JDK (Java Development Kit).

The SDK determines which API library is used to build the project. If a project is multi-module, the project SDK is common 
for all modules within the project by default. Optionally, a project can configure an individual SDK for each module. For more information about SDKs, see Working with SDKs in the IntelliJ IDEA Web Help. 翻译后: 每个项目都使用软件开发工具包(SDK)。对于Java项目,SDK被称为JDK(Java开发工具包)。SDK决定了哪个API库被用来构建项目。如果一个项目是多模块的,默认情况下,项目的SDK对项目中的所有模块来说是通用的。作为选择,项目可以为每个模块配置单独的SDK。 关于SDK的更多信息,请参见IntelliJ IDEA网络帮助中的使用SDK。

     Generally, SDKs are global. It means that one SDK can be used in multiple projects and modules. After you create a new project and
define an SDK for it, you can configure modules in this project to inherit its SDK. You can also specify an SDK for each module
individually. For more information, refer to Change module SDK.

翻译后:

      一般来说,SDK是全球性的。这意味着一个SDK可以在多个项目和模块中使用。在你创建了一个新项目并为其定义了一个SDK后,你可以配置这个项目中的模块来继承其SDK。您也可以为每个模块单独指定一个SDK。更多信息,请参考改变模块的SDK。

2. 获取和创建sdk信息

The information about the project SDK is accessed via ProjectRootManager like the following example shows

Sdk projectSdk = ProjectRootManager.getInstance(project).getProjectSdk();
  • To get the project-level 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);
     
  • To set the project-level SDK name:

    ProjectRootManager.getInstance(project).setProjectSdkName(name);
     

See the project_model code sample to get more familiar with SDK manipulation toolset.

3. 创建自定义sdk

 

 

 

   

标签:模块,getInstance,idea,project,源码,ProjectRootManager,sdk,SDK
From: https://www.cnblogs.com/yuluoxingkong/p/16657693.html

相关文章

  • Idea 的Test测试报错:java.lang.IllegalStateException: Failed to load ApplicationC
    转载自:https://www.cnblogs.com/zhian/p/12600429.html因为在Test里面使用了注解@Autowired引入来至bean.xml文件的内容,而在Test没有没有办法自动引入,需要在Test类上加......
  • hi3516开机修改内存和MMZ分配并安装SDK驱动
    1. 拿到的开发版中已经安装最小系统,连接串口开机,设置启动文件#配置IP地址ifconfigeth0172.16.96.151netmask255.255.248.0routeadddefaultgw172.16.100.1#......
  • HashMap源码分析
    HashMap1.81、构造函数:赋值负载因子0.75,当负载因子大于0.75时就会发送扩容publicHashMap(){this.loadFactor=DEFAULT_LOAD_FACTOR;//allotherfie......
  • 基于 ESP8266_RTOS_SDK 驱动 DHT11
    概述DHT11模块使用一根data线实现信号触发以及数据反馈,信号格式参考如下https://zhuanlan.zhihu.com/p/347904660本文使用GPIO中断的方式采集反馈数据知识点:GPIO、中断......
  • 大家都能看得懂的源码之ahooks useInfiniteScroll
    本文是深入浅出ahooks源码系列文章的第十七篇,该系列已整理成文档-地址。觉得还不错,给个star支持一下哈,Thanks。简介useInfiniteScroll封装了常见的无限滚动逻辑。......
  • unigui源码路径
    unigui源码路径$(fmsoft)\uniGUI$(fmsoft)\uniGUI\uIndy$(fmsoft)\uniGUI\Source\Core$(fmsoft)\uniGUI\Source\VCL$(fmsoft)\uniGUI\Source\Components$(fmsoft)\u......
  • IDEA Maven 报 Unable to import maven project解决方案
    问题:将同事给的项目放在自己电脑IDEA里,加载时一直报Unabletoimportmavenproject,seelogsfordetails。我是尝试了一天,终于没有了红色。解决:1.没有c盘的下载权限,将r......
  • ASP.NET Core源码,数据结构和算法,
    ASP.NETCore源码:https://github.com/dotnet/aspnetcore#ASP.NETCorehttps://github.com/dotnet/runtime#extend扩展库https://github.com/aspnet/KestrelHttpServer ......
  • DispatcherServlet类源码分析
    DispatcherServlet类结构图 DispatcherServlet源码分析1. 加载配置文件/***Thisimplementationcalls{@link#initStrategies}.*/@Overrideprotecte......
  • WinUI(WASDK)项目实践——优雅的开发上位机应用(新)
    摘要这就是一个记录自己进行WinUI项目实践的博客,项目开源地址如下,觉得有帮助的可以去看看,因为项目都开源了,所以保姆级的讲解肯定不如直接看代码来的实在了。电子脑壳项目......