一、配置JDK环境变量:
1. 安装 JDK
首先确保已经安装了 JDK。如果还没有安装,可以从 Oracle 官网 或者 AdoptOpenJDK 下载并安装合适的 JDK 版本。
我建议下载这个:https://adoptium.net/zh-CN/temurin/releases/?os=windows&arch=x64&package=jdk&version=17
支持和维护它的厂商和组织:
https://adoptium.net/zh-CN/members/
使用 Temurin JDK 的最大优势在于它是 开源、免费且没有商业授权费用,并且提供与 Oracle JDK 相同的兼容性和性能。这使得 Temurin 成为一个更加经济、灵活和可持续的选择,尤其对于开源项目、小型开发团队和中小型企业来说,Temurin 是一个非常理想的替代方案。而 Oracle JDK 则适合那些需要 Oracle 提供正式商业支持和特定企业级服务的组织。
如果你不依赖于 Oracle 提供的企业级支持服务,Temurin 将会是一个更具性价比的选择。
2.Temurin JDK的说明
Temurin JDK(以前叫做 AdoptOpenJDK)完全可以用于大型企业。
Temurin JDK 是由 Eclipse Adoptium 项目提供的开源 Java 发行版,经过严格测试和验证,广泛应用于企业环境中。它是一个兼容的、企业级的 JDK 发行版,完全符合 Java SE 标准,并且在性能、安全性和可靠性上都有较好的表现。
许多大型企业使用 Temurin JDK 作为生产环境中的 Java 运行时,因为它:
- 稳定可靠:Temurin JDK 经过严格的测试,符合 Java 标准,保证了兼容性和稳定性。
- 开源:可以自由使用、分发和修改,无需支付许可费用,符合很多企业的开源使用政策。
- 长期支持:Temurin JDK 提供长期支持版本(LTS),确保企业能够获得长期的安全更新和性能优化。
- 广泛社区支持:作为 Eclipse Adoptium 项目的核心部分,Temurin JDK 享有来自全球开发者社区的支持和更新。
- 兼容性强:Temurin JDK 兼容其他 JDK 发行版,如 Oracle JDK 和 OpenJDK,因此可以与现有的 Java 应用程序无缝集成。
对于大多数企业来说,选择 Temurin JDK 是一个既经济又安全的解决方案,尤其适用于生产环境中的大规模部署。如果你的企业有需要,也可以考虑与 Eclipse Adoptium 项目中的专业支持团队合作,以获得更多技术帮助和支持。
3. 配置环境变量
配置 JDK 环境变量主要有两个:JAVA_HOME
和 Path
。
步骤 1:设置 JAVA_HOME
- 右键点击 此电脑(或 计算机),选择 属性。
- 点击 高级系统设置,然后点击 环境变量。
- 在 系统变量 区域,点击 新建,创建一个新的变量:
- 变量名:
JAVA_HOME
- 变量值:JDK 的安装路径。例如,
C:\Program Files\Java\jdk-17
(根据实际安装路径填写)。
- 变量名:
- 点击 确定 保存。
步骤 2:修改 Path
变量
- 在 系统变量 区域,找到
Path
变量,选中后点击 编辑。 - 在编辑窗口中点击 新建,然后添加以下路径:
%JAVA_HOME%\bin
- 点击 确定 保存。
步骤 3:配置 CLASSPATH
(可选)
- 在 系统变量 区域,点击 新建,创建一个新的变量:
- 变量名:
CLASSPATH
- 变量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
- 变量名:
- 点击 确定 保存。
- 需要配置
CLASSPATH
:- 你有自定义的类文件或 JAR 文件不在默认类路径中。
- 你的项目需要依赖多个外部库(JAR 文件)。
- 不需要配置
CLASSPATH
:- 你只是运行简单的 Java 程序,且类文件在当前目录。
- 使用现代 IDE (如 IntelliJ IDEA)进行开发,它们会自动管理
CLASSPATH
。
3. 验证配置
完成配置后,打开命令提示符(CMD),输入以下命令来验证 JDK 是否配置成功:
java -version
如果显示出 JDK 版本信息,说明配置成功。
二、Maven与Gradle的配置:
打开 maven 的配置文件( windows 机器一般在 maven 安装目录的 conf/settings.xml )
1.maven 配置指南
添加本地仓库地址:
<localRepository>D:\m2\repository</localRepository>
<mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url>
</mirror>
在 build.gradle 文件中加入以下代码:
2.gradle 配置指南
repositories {mavenLocal {url 'file:///D:/m2/repository'}maven { url 'https://maven.aliyun.com/repository/public/' }mavenCentral()
}
三、Java开发常用的依赖库:
在Java开发中,常用的依赖库主要涵盖了常见的功能需求,比如数据访问、Web开发、单元测试、日志管理、工具类等。以下是一些在Java开发中使用频繁的依赖:
1. Spring Framework相关依赖
- Spring Core:
spring-core
- Spring Web:
spring-web
,spring-webmvc
- Spring Boot:
spring-boot-starter-web
(Web开发),spring-boot-starter-data-jpa
(JPA支持),spring-boot-starter-thymeleaf
(模板引擎) - Spring Data JPA:
spring-data-jpa
- Spring Security:
spring-security-core
- Spring AOP:
spring-aop
2. 数据库及ORM框架相关依赖
- Hibernate:
hibernate-core
- Spring Data MongoDB:
spring-boot-starter-data-mongodb
- MyBatis:
mybatis-spring
,mybatis
,mybatis-spring-boot-starter
- JDBC:
spring-boot-starter-jdbc
- JPA(Java Persistence API):
javax.persistence-api
3. Web开发相关依赖
- Spring Boot Web Starter:
spring-boot-starter-web
- Spring MVC:
spring-webmvc
- Thymeleaf(模板引擎):
spring-boot-starter-thymeleaf
- Spring WebFlux(响应式编程):
spring-boot-starter-webflux
- Jackson(JSON处理):
jackson-databind
- JSP支持:
spring-boot-starter-jetty
(可选的Servlet容器)
4. 日志框架
- SLF4J:
slf4j-api
- Logback:
logback-classic
- Log4j2:
log4j2-api
,log4j2-core
- Spring Boot默认日志:
spring-boot-starter-logging
(默认包含Logback)
5. 单元测试和Mock框架
- JUnit:
junit-jupiter-api
,junit-jupiter-engine
(JUnit 5) - Mockito:
mockito-core
- Spring Test:
spring-boot-starter-test
- AssertJ:
assertj-core
(更强大的断言库) - Hamcrest:
hamcrest-library
6. 工具类库
- Apache Commons:
commons-lang3
(字符串、集合等常用工具)commons-io
(文件操作)commons-collections4
(集合工具)
- Guava(Google的工具类库):
com.google.guava:guava
- Lombok(减少样板代码):
org.projectlombok:lombok
- Apache HttpClient:
httpclient
7. 消息队列/异步处理
- RabbitMQ:
spring-boot-starter-amqp
- Kafka:
spring-kafka
- ActiveMQ:
spring-boot-starter-activemq
8. 分布式和微服务架构相关
- Spring Cloud:
spring-cloud-starter-netflix-eureka-client
(Eureka客户端)spring-cloud-starter-config
(Spring Cloud配置管理)spring-cloud-starter-openfeign
(Feign客户端)spring-cloud-starter-ribbon
(Ribbon负载均衡)
- Spring Cloud Gateway:
spring-cloud-starter-gateway
(API网关) - Spring Cloud Sleuth:
spring-cloud-starter-sleuth
(分布式追踪)
9. 缓存相关依赖
- Redis:
spring-boot-starter-data-redis
- EhCache:
spring-boot-starter-cache
- Caffeine:
com.github.ben-manes.caffeine:caffeine
(高效的内存缓存)
10. 异步任务和定时任务
- Quartz:
quartz
- Spring Task:
spring-boot-starter-task
(异步任务支持)
11. 文件上传和处理
- Apache Commons FileUpload:
commons-fileupload
- Spring Boot文件上传:
spring-boot-starter-web
(支持文件上传功能)
12. 认证与授权
- OAuth2:
spring-security-oauth2-client
- JWT:
jjwt-api
(JWT处理)
13. API文档生成
- Swagger:
springfox-swagger2
,springfox-swagger-ui
- Springdoc OpenAPI:
springdoc-openapi-ui
(OpenAPI规范支持)
14. 其他常用工具和框架
- Flyway:
flyway-core
(数据库迁移) - Liquibase:
liquibase-core
(数据库变更管理) - Apache POI:
poi-ooxml
(处理Excel文件) - Jackson:
jackson-databind
(JSON处理) - Gson:
com.google.code.gson:gson
(另一种JSON处理库)
15. 安全相关
- Spring Security:
spring-security-core
- Apache Shiro:
shiro-core
这些依赖基本涵盖了大多数Java开发项目中需要用到的功能,可以根据项目的需求,选择并添加适合的依赖。随着Java生态的不断发展,新的库和工具不断涌现,因此要保持对新技术的关注,选择最适合项目需求的技术栈。