IntelliJ IDEA:修订间差异
(→jar 包) |
|||
(未显示同一用户的23个中间版本) | |||
第2行: | 第2行: | ||
==== jar 包 ==== | ==== jar 包 ==== | ||
文件 -> 项目结构 -> 项目设置 -> 工件 -> + -> jar -> 来自依赖 | 文件(File) -> 项目结构(Project Structure) -> 项目设置(Project Settings) -> 工件(Airifacts) -> + -> jar -> 来自依赖 | ||
* 主类(需要 jar 包默认可执行时,需输入指定名称) | * 主类(需要 jar 包默认可执行时,需输入指定名称) | ||
* +包含测试(否则无法执行主类的 main) | * +包含测试(否则无法执行主类的 main) | ||
* 来自库的 jar 文件 -> | * 来自库的 jar 文件 -> 提取到目标(打包成一个文件, Extract to the Taget JAR),复制到输出...(多个文件),该选项后面的“输出布局”中可以在主类中选择“类路径”,实现将相关 jar 包放在不同目录的效果。 | ||
====无法在 src 下建立类文件==== | ==== Git ==== | ||
IDEA -> Preferences -> Version Control | |||
-> Git | |||
Path to Git executable = # 设置 Git 所在路径 | |||
-> GitHub | |||
Log in via GitHub | |||
==== POM ==== | |||
<small><small><?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> | |||
<!-- slf4j - log4j --> | |||
<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></small></small> | |||
===== 依赖声明 ===== | |||
<small><small><nowiki><!--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></nowiki></small></small> | |||
==== .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 ==== | |||
===== [https://www.continue.dev/ Continue] ===== | |||
<small><small><nowiki> ______ __ _ | |||
/ ____/ ____ ____ __/ /_ (_) ____ __ __ _____ | |||
/ / / __ \ / __ \ /_ __/ / / / __ \ / / / / /____/ | |||
/ /___ / /_/ / / / / / / /_ / / / / / / / /_/ / /____/ | |||
\____/ \____/ /_/ /_/ \__/ /_/ /_/ /_/ \__,_/ \___/ </nowiki></small></small> | |||
使用 Continue 进行 AI 辅助代码编写。 | |||
# 在 IDEA plugins 中安装 continue | |||
# 配置本地 LLM 模型 | |||
# [⌘ J] Ask a question about code | |||
# [⌘ I] Edit code | |||
<small><small><nowiki>#~/.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" | |||
} | |||
}</nowiki></small></small> | |||
===== Generate JavaDoc ===== | |||
Tools -> Generate JavaDoc | |||
# JavaDoc Scope: Custom scope: All Places | |||
# Output directory | |||
# Visibility level: protected, 下面全选 | |||
在输出目录中找到 index.html 打开 | |||
==== QA ==== | |||
===== 无法在 src 下建立类文件 ===== | |||
文件 -> 项目结构 -> 项目设置 -> 模块 | 文件 -> 项目结构 -> 项目设置 -> 模块 | ||
源:将 src 标识为源代码,将 target 标记为排除 | 源:将 src 标识为源代码,将 target 标记为排除 | ||
第14行: | 第193行: | ||
将 src/test 标识为测试 | 将 src/test 标识为测试 | ||
====java 不支持发行版本 7==== | ===== java 不支持发行版本 7 ===== | ||
可以在 idea Java编译器配置中修改,但会被 pom 覆盖。 | 可以在 idea Java编译器配置中修改,但会被 pom 覆盖。 | ||
# pom.xml | # pom.xml | ||
<build> | <build> | ||
第28行: | 第206行: | ||
</plugins> | </plugins> | ||
</build> | </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 插件([https://plugins.jetbrains.com/plugin/17911-spring-assistant/ Jetbrains 官网]给出的提示是不兼容),想使用这个插件(解决社区版支持 Spring Boot),可以使用 2023 年 六月以前的社区版本。[https://www.jetbrains.com/zh-cn/idea/download/other.html IDEA 历史版本] | |||
Spring Assistant 1.05 版本的更新时间是:Jun 09, 2023 | |||
P.S. 不使用插件 IDEA CE 一样可以开发 Spring Boot 程序。See Also: [[Spring_Boot_微服务极简化开发]] | |||
[[分类:Develop]] | [[分类:Develop]] | ||
[[分类:Java]] | [[分类:Java]] |
2024年11月4日 (一) 16:58的最新版本
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 辅助代码编写。
- 在 IDEA plugins 中安装 continue
- 配置本地 LLM 模型
- [⌘ J] Ask a question about code
- [⌘ 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" } }
Generate JavaDoc
Tools -> Generate JavaDoc
- JavaDoc Scope: Custom scope: All Places
- Output directory
- Visibility level: protected, 下面全选
在输出目录中找到 index.html 打开
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_微服务极简化开发