JDK(1.8)
IDEA community(2022)
maven(3.9) Maven – Download Apache Maven zip版即可
mariadb MariaDB Products & Tools Downloads | MariaDB
Navicat
JAVA_HOME,jdk安装路径
M2_HOME,maven的安装路径(解压路径)
MAVEN_HOME,与M2_HOME一致;
PATH,添加%JAVA_HOME%/bin;%MAVEN_HOME%/bin;
在用户主目录下进入.m2
目录,创建一个settings.xml
配置文件,内容如下:
<settings>
<mirrors>
<mirror>
<id>aliyunid>
<name>aliyunname>
<mirrorOf>centralmirrorOf>
<url>https://maven.aliyun.com/repository/centralurl>
mirror>
mirrors>
settings>
在本地创建目录D:\SoftwareData\maven\repository
修改maven安装目录/conf/settings.xml,在下添加
<localRepository>D:\SoftwareData\maven\repositorylocalRepository>
File - Settings - 搜索maven(或展开层级Build,Execution,Deployment > BuildTools > Maven),Maven home directory选项,设置为自己安装的maven路径
Alt+Enter:快速生成当前光标所在的标识所需要的import语句。
(参考:https://baijiahao.baidu.com/s?id=1609673298658938529&wfr=spider&for=pc)
spring boot,目前有2.x.x和3.x.x,版本号后面的英文代表什么含义呢?
具体含义
SNAPSHOT:快照版,表示开发版本,随时可能修改;
M1(Mn):M是milestone的缩写,也就是里程碑版本;
RC1(RCn):RC是release candidates的缩写,也就是发布预览版;
Release或空:正式版,也可能没有任何后缀也表示正式版;
网址:https://start.spring.io/
sprint boot版本:选择2.7.9(3.0以上需要jdk17)
java版本:8
Dependencies选择Spring Web、Lombok、MyBatis Framework
点击GENERATE,自动生成和下载初始化包。
(这里我创建了com.jx.uam工程)
社区版不支持initializr,需要用破解版。
或者社区版先创建maven项目,再转成 Spring boot。
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.7.9version>
<relativePath/>
parent>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
在新建项目时,直接选spring boot initializr。
pom.xml => Maven的构建文件,里面有关于组建的引用信息
src/main/java => 项目的源码类都在此目录下
xxxxApplication.java => 其中前半部分为包名,后半部分为项目的启动文件
src/main/resources => 项目的资源文件目录
src/main/resources/application.properties => 空的属性配置文件
在com.jx.uam下,创建helloworld目录,并在该目录下创建HelloWorld.java文件。
package com.jx.uam.helloworld;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class HelloWorld {
@RequestMapping("/test/sayhi")
public String sayhi(){
return "Hello, this is UAM!";
}
}
选中你java文件所在的package单击右键选中Mark Directory as,然后选中Sources Root。
此时,xxxApplication.java中即可出现绿色的运行按钮。
首次建议先用mvn命令运行,下载相关依赖包。
在pom.xml所在的目录下,在命令行中运行
mvn clean package
java -jar ./target/xxxx.jar
(如有问题,请参考“问题汇总”)
通过浏览器或postman
调用url
http://127.0.0.1:8080/test/sayhi
可以得到结果:
Hello, this is UAM!
在HelloWorld的class代码中添加
@RequestMapping("/test/json")
public String index(int age, String name){
return String.format("{'name':%s, 'age':%s}", name, age);
}
通过postman,调用url
http://127.0.0.1:8080/test/json?age=12&name=mike
可以得到结果:
{'name':mike, 'age':12}
解决:
更改默认的mvn repository路径。
[INFO] Finished at: 2023-03-07T08:22:08+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project uam: Compilation failure
[ERROR] /D:/Coding/Java/study/uam/src/main/java/com/jx/uam/helloworld/HelloWorld.java:[3,32] 无法访问org.springframework.boot.SpringApplication
[ERROR] 错误的类文件: D:\SoftwareData\maven\repository\org\springframework\boot\spring-boot\3.0.4\spring-boot-3.0.4.jar(org/springframework/boot/SpringApplication.class)
[ERROR] 类文件具有错误的版本 61.0, 应为 52.0
[ERROR] 请删除该文件或确保该文件位于正确的类路径子目录中。
[ERROR]
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
原因:boot 3.0.0版本要求jdk17以上,自己的版本是jdk8
解决:改用17版本以上的jdk
ctrl+c中断后再次运行
情况一:未引用有效的JDK
处理方案:File - Project Structure - Project SDK,看看SDK有没有选,重选一个本地的自己安装的jdk。
情况二:无有效的Maven设置
处理方案:File - Settings - 搜索maven(或展开层级Build,Execution,Deployment > BuildTools > Maven),Maven home directory选项,设置为自己安装的maven路径
[INFO]
[INFO] Results:
[INFO]
[ERROR] Errors:
[ERROR] UamApplicationTests.contextLoads ? IllegalState Failed to load ApplicationCont...
[INFO]
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
原因:测试的方法有错导致整体打包时抛出异常。
解决:避免 maven 项目打包时受到 test 方法影响。
在pom.xml中,添加如下配置:
org.apache.maven.plugins
maven-surefire-plugin
2.22.2
true
或者
org.apache.maven.plugins
maven-surefire-plugin
2.22.2
true
***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
原因:springboot自动配置时,检测到了MySQL、Mybatis等和数据库相关的依赖包,但我们的配置文件中却没有添加相关的数据库配置。
解决办法:
@SpringBootApplication(exclude=DataSourceAutoConfiguration.class)
public class UamApplication {
public static void main(String[] args) {
SpringApplication.run(UamApplication.class, args);
}
}