您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# IDEA+Maven怎么实现简单的demo
## 前言
在Java开发中,IntelliJ IDEA作为一款强大的集成开发环境,配合Maven这一优秀的项目构建工具,能够极大提升开发效率。本文将详细介绍如何使用IDEA和Maven从零开始构建一个简单的Java Demo项目,涵盖环境准备、项目创建、依赖管理、代码编写到最终运行的完整流程。
---
## 环境准备
### 1. 安装JDK
- 推荐JDK 8或以上版本
- 配置JAVA_HOME环境变量
- 终端验证:`java -version`
### 2. 安装IntelliJ IDEA
- 下载Community(免费版)或Ultimate版
- 建议版本:2021.x或更高
- 安装时勾选"Add launchers dir to the PATH"
### 3. 安装Maven
- 下载地址:https://maven.apache.org
- 解压后配置MAVEN_HOME和PATH
- 验证安装:`mvn -v`
---
## 创建Maven项目
### 1. 新建项目
1. 打开IDEA → New Project
2. 选择左侧"Maven"模板
3. 勾选"Create from archetype"
4. 选择`maven-archetype-quickstart`
5. 点击Next
### 2. 配置项目信息
```properties
GroupId: com.example
ArtifactId: demo-project
Version: 1.0-SNAPSHOT
demo-project/
├── src/
│ ├── main/
│ │ ├── java/ # 主代码目录
│ │ └── resources/ # 资源文件
│ └── test/
│ ├── java/ # 测试代码
│ └── resources/
├── pom.xml # Maven核心配置文件
└── target/ # 编译输出目录
<?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.example</groupId>
<artifactId>demo-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- 示例:添加JUnit依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
在src/main/java
下新建com.example.demo.App.java
:
package com.example.demo;
public class App {
public static void main(String[] args) {
System.out.println("Hello Maven!");
Calculator calculator = new Calculator();
System.out.println("3 + 5 = " + calculator.add(3, 5));
}
}
创建src/main/java/com/example/demo/Calculator.java
:
package com.example.demo;
public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int subtract(int a, int b) {
return a - b;
}
}
在src/test/java
下创建测试类:
package com.example.demo;
import org.junit.Test;
import static org.junit.Assert.*;
public class CalculatorTest {
@Test
public void testAdd() {
Calculator calc = new Calculator();
assertEquals(8, calc.add(3, 5));
}
}
mvn compile
mvn test
mvn package
mvn clean
mvn install
修改pom.xml添加maven-assembly-plugin:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.demo.App</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
执行打包命令:
mvn clean package
运行生成的JAR:
java -jar target/demo-project-1.0-SNAPSHOT-jar-with-dependencies.jar
确保pom.xml中配置正确的JDK版本:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
mvn clean package
重新打包引入Log4j2依赖:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
修改pom.xml:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
创建父pom.xml管理子模块:
<modules>
<module>demo-core</module>
<module>demo-web</module>
</modules>
通过本文的步骤,您已经完成了: 1. IDEA+Maven环境配置 2. 标准Maven项目创建 3. 基础代码开发与测试 4. 项目构建与打包 5. 常见问题解决方案
建议进一步探索: - Maven生命周期详解 - 依赖范围(scope)的使用 - 多环境profile配置 - 自定义Archetype模板
完整的示例代码已托管至GitHub:示例仓库链接 “`
注:实际使用时请将示例中的包名、GitHub链接等替换为您自己的实际内容。本文档格式为Markdown,可直接保存为.md文件使用。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。