IntelliJ IDEA:修订间差异

来自牛奶河Wiki
跳到导航 跳到搜索
第225行: 第225行:




P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。[[Spring_Boot_微服务极简化开发]]
P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。See Also: [[Spring_Boot_微服务极简化开发]]


[[分类:Develop]]
[[分类:Develop]]
[[分类:Java]]
[[分类:Java]]

2024年11月4日 (一) 10:34的版本

IntelliJ IDEA 2023

jar 包

文件(File) -> 项目结构(Project Structure) -> 项目设置(Project Settings) -> 工件(Airifacts) -> + -> jar -> 来自依赖

  • 主类(需要 jar 包默认可执行时,需输入指定名称)
  • +包含测试(否则无法执行主类的 main)
  • 来自库的 jar 文件 -> 提取到目标(打包成一个文件, Extract to the Taget JAR),复制到输出...(多个文件),该选项后面的“输出布局”中可以在主类中选择“类路径”,实现将相关 jar 包放在不同目录的效果。

Git

IDEA -> Preferences -> Version Control
-> Git
 Path to Git executable =     # 设置 Git 所在路径
-> GitHub
 Log in via GitHub

POM

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.aaa.udef</groupId>
    <artifactId>udefapi</artifactId>
    <version>1.0.0</version>

    <name>udef-api</name>
    <url>http://www.mwbbs.tk</url>
    <description>UDF API Class</description>

    <packaging>jar</packaging>

    <properties>
        <udf.version>1.0.0</udf.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>2.0.9</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>2.0.9</version>
        </dependency>
    </dependencies>

    <build>
        <finalName>test</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.22</source>
                    <target>1.22</target>
                    <encoding>${project.build.sourceEncoding}</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>
依赖声明
<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.33</version>
</dependency>
<!--h2-->
<dependency>
    <groupId>com.h2database</groupId>
    <artifactId>h2</artifactId>
    <version>2.2.224</version>
</dependency>
<!--Json-->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.9</version>
</dependency>
<!--Kafka-->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.0.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.11</artifactId>
    <version>0.10.0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-streams</artifactId>
    <version>1.0.0</version>
</dependency>

.iml

.idea

.idea 文件夹是存储 IntelliJ IDEA 项目的配置信息,主要内容有项目本身的一些编译配置、文件编码信息、jar 包的数据源和相关的插件配置信息。此类信息属于本地配置信息,无需提交到版本控制。

.iml

根目录下的 .iml 可以定义 IntelliJ IDEA 项目的显示名称、源代码目录等,覆盖 .idea 相关文件(如:udefj2.iml),如将 udefj2 项目显示为:udef(根目录下的文件 udef.iml)。

~/.m2/repository

pom 中依赖的 jar 下载位置

Preferences -> Build,Execution,Deployment -> Build Tools -> maven -> Local repository

Git

将一个 Git 管理的项目导入 IDEA 后,可以方便查看版本的差异(包括未提交的 local 版本):

文件(右键) -> Git -> Show Diff

plugins

Continue
   ______                   __     _
  / ____/ ____    ____   __/ /_   (_)  ____    __  __  _____ 
 / /     / __ \  / __ \ /_  __/  / /  / __ \  / / / / /____/  
/ /___  / /_/ / / / / /  / /_   / /  / / / / / /_/ / /____/
\____/  \____/ /_/ /_/   \__/  /_/  /_/ /_/  \__,_/  \___/ 

使用 Continue 进行 AI 辅助代码编写。

  1. 在 IDEA plugins 中安装 continue
  2. 配置本地 LLM 模型
  3. [⌘ J] Ask a question about code
  4. [⌘ I] Edit code
#~/.continue/config.json
{
  "slashCommands":[
    {
      "name": "edit",
      "description": "Edit highlighted code"
    },
    {
      "name": "comment",
      "description": "Write comments for the highlighted code"
    },
    {
      "name": "share",
      "description": "Export the current chat session to markdown",
      "params": { "ouputDir": "~/.continue/session-transcripts" }
    }
  ],
  "systemMessage": "You are a computer software development expert and are proficient in Java, Python, C, C++, SQL.",
  "embeddingsProvider": {
    "title": "Embeddings Provider",
    "provider": "ollama",
    "model": "nomic-embed-text",
    "apiBase": "http://192.168.0.242:11434"
  },
  "models": [
    {
      "title": "LLM Model",
      "provider": "ollama",
      "model": "llama3.1:8b",
      "apiBase": "http://192.168.0.242:11434"
    }
  ],
  "tabAutocompleteModel": {
    "title": "Tab Autocomplete Model",
    "provider": "ollama",
    "model": "llama3.1:8b",
    "apiBase": "http://192.168.0.242:11434"
  }
}

QA

无法在 src 下建立类文件

文件 -> 项目结构 -> 项目设置 -> 模块

源:将 src 标识为源代码,将 target 标记为排除

将 src/main 也标识为 source,引用包体可以省略为:import com.udf.base.CNF(main.com.udf...)
将 src/test 标识为测试
java 不支持发行版本 7
可以在 idea Java编译器配置中修改,但会被 pom 覆盖。
# pom.xml
<build>
    <plugins>
        <plugin>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
项目左侧目录结构消失

删除项目文件夹下的 .idea 文件夹,重打开项目

H2 版本兼容性

v2.2.224 生成/修改的 H2 数据文件,对于有些 db tools 不兼容,如 < dbeaver 24.0.4。(v2.1.212 OK)

       <dependency>
           <groupId>com.h2database</groupId>
           <artifactId>h2</artifactId>
           <version>2.1.212</version>
       </dependency>

v2.2.224 读以前版本的数据文件报错:

Unsupported database file version or invalid file header
org.junit 不存在

如果 import org.junit.Test 未报错(已加入依赖),但执行时出现上述报错,可能是执行目录类型错误。

# IDEA 2024
File -> Project Structure -> Modules -> (Test java Path) -> Mark as <Tests>
spring assistant

关于 IDEA CE(社区版)(2024)没有 spring assistant 插件(Jetbrains 官网给出的提示是不兼容),想使用这个插件(解决社区版支持 Spring Boot),可以使用 2023 年 六月以前的社区版本。IDEA 历史版本

Spring Assistant 1.05 版本的更新时间是:Jun 09, 2023


P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。See Also: Spring_Boot_微服务极简化开发