Java工程和Maven工程的区别
在软件开发中,Java工程和Maven工程是常见的两种项目类型。作为一名刚入行的小白,了解它们的区别是非常重要的。本文将通过流程步骤、示例代码以及图示来帮助你更好地理解这两者的异同。
流程步骤
以下是创建Java工程和Maven工程的流程步骤:
步骤 | Java工程 | Maven工程 |
---|---|---|
1. 创建项目 | 创建一个新的Java项目文件夹 | 使用Maven命令创建新的Maven项目 |
2. 编写代码 | 编写Java源代码文件 | 在src/main/java 路径下编写Java源代码 |
3. 配置依赖 | 手动下载并引入依赖库 | 在pom.xml 文件中添加依赖 |
4. 编译 | 手动编译Java文件,生成.class文件 | 使用Maven命令编译 |
5. 运行 | 运行生成的.class文件 | 使用Maven命令运行项目 |
详细步骤
1. 创建项目
Java工程
在你的计算机上创建一个名为MyJavaProject
的文件夹:
mkdir MyJavaProject
cd MyJavaProject
Maven工程
使用Maven命令创建一个新的Maven项目。首先确保你已安装了Maven。在终端中运行以下命令:
mvn archetype:generate -DgroupId=com.example -DartifactId=MyMavenProject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
-DgroupId=com.example
:指定项目的组ID。-DartifactId=MyMavenProject
:指定项目的Artifact ID。-DarchetypeArtifactId=maven-archetype-quickstart
:指定项目的模板。-DinteractiveMode=false
:非交互模式,自动生成项目。
2. 编写代码
Java工程
在MyJavaProject
文件夹中创建Main.java
文件:
// Main.java
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java Project!");
}
}
Maven工程
在MyMavenProject/src/main/java/com/example/
路径下创建App.java
文件:
// App.java
package com.example;
public class App {
public static void main(String[] args) {
System.out.println("Hello, Maven Project!");
}
}
3. 配置依赖
Java工程
你需要手动下载并将依赖库放置在项目的lib
目录中,例如使用Apache Commons库。将.jar
文件放在lib
目录,并在Java编译时指定类路径。
javac -cp "lib/commons-lang3-3.12.0.jar" Main.java
Maven工程
在MyMavenProject/pom.xml
中添加依赖:
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.12.0</version>
</dependency>
</dependencies>
4. 编译
Java工程
使用Java编译器手动编译代码:
javac Main.java
Maven工程
在Maven项目目录中运行以下命令进行编译:
mvn compile
5. 运行
Java工程
运行生成的.class文件:
java Main
Maven工程
使用Maven命令运行项目:
mvn exec:java -Dexec.mainClass="com.example.App"
旅行图
以下是创建和使用Java项目与Maven项目过程的旅行图:
journey
title Java 和 Maven 项目创建旅程
section 创建项目
Java项目: 5: Java工程
Maven项目: 5: Maven工程
section 编写代码
Java代码编写: 4: Java工程
Maven代码编写: 4: Maven工程
section 配置依赖
Java手动配置: 2: Java工程
Maven自动配置: 5: Maven工程
section 编译和运行
Java手动编译: 2: Java工程
Maven自动编译: 5: Maven工程
关系图
以下是Java工程与Maven工程之间的关系图:
erDiagram
JAVA_PROJECT {
string name PK "项目名"
string version
}
MAVEN_PROJECT {
string name PK "项目名"
string version
}
JAVA_PROJECT ||--|| MAVEN_PROJECT :
结论
通过上面的步骤,你可以看到Java框架的基本功能和Maven的强大之处。Java工程更依赖于手动操作,而Maven工程则通过自动化管理依赖,简化了开发流程。因此,在实际项目中,Maven通常更受欢迎。在你的开发旅程中,掌握这两者的区别将会非常有帮助。希望这篇文章能够帮助你更好地理解Java工程和Maven工程的区别!