龙空技术网

优雅地使用Maven创建最小Java项目

全栈艺术家 266

前言:

现时兄弟们对“java建包”大致比较关怀,姐妹们都想要学习一些“java建包”的相关资讯。那么小编也在网络上搜集了一些关于“java建包””的相关文章,希望看官们能喜欢,同学们快快来学习一下吧!

Maven来自意第绪语,意思是学识渊博的人或者专家。这里Maven指的是Apache的开源项目,也是进行Java项目管理的工具。用来帮助构建Java项目,方便不同项目之间共享Jar包。

当我们在学习一门编程语言的时候,首先会创建一个Hello World项目,以便能够快速地了解如何使用它。

比如我们在学习Python的时候,我们创建下面的项目:

demo.py

print('Hello World')

使用python3运行文件,

> python3 demo.pyHello World

这就是最小的Python项目了。

当我们学习Java的时候,可以创建类似的项目,代码稍微复杂一点,

App.java

public class App {    public static void main(String[] args) {        System.out.println("Hello World");    }}

然后我们运行下面的命令来编译和运行这个项目,最后看到输出的结果跟上面的Python项目一样,

> javac App.java> java AppHello World

除了书写的复杂度不同之外,Python的包管理器pip跟Java的包管理工具也有很大的不同,比如Python中引入requests包,只需要像下面这样使用即可,

安装requests包

> python3 -m pip install requests

demo.py

# print('Hello World')import requestsr = requests.get(';)print(r.status_code)

运行结果如下,

> python3 demo.py200

上面讲了那么多,只是想说明,如果使用Maven来管理依赖,可不像Python使用pip那么简单!Maven需要单独的pom.xml文件来配置Jar包依赖

总之,要创建一个依赖第三方Jar包的最小Java项目,你很难徒手撸出来!

Maven官方的Maven in 5 Minutes给我们提供了一个快速创建Maven项目的例子,

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false

这个项目由Maven的archetype产生,你可以理解为预置的项目结构,当运行mvn archetype:generate的时候,Maven会从远程仓库获取对应的模板,然后帮我们创建项目。

但是,这个项目还不够简单,pom.xml包含挺多内容,还有就是总是碰到archetype文件下载不下来的问题。

能否使用Maven徒手撸一个最小的Java项目?答案是肯定的,请看下面的项目!

step-1 创建项目

创建maven-smallest-project目录

cd maven-smallest-project
step-2 添加目录和文件

目录结构(我这里通过wsl查看的)

/mnt/d/docs/blog/maven-smallest-project# tree.├── pom.xml└── src    └── main        └── java            └── com                └── my                    └── demo                        └── App.java6 directories, 2 files

src/main/java/com/my/demo/App.java

package com.my.demo;public class App {    public static void main(String[] args) {        System.out.println("Hello World");    }}

pom.xml

<project>    <modelVersion>4.0.0</modelVersion>    <groupId>com.my.demo</groupId>    <artifactId>my-app</artifactId>    <version>1.0</version>    <properties>        <maven.compiler.source>1.8</maven.compiler.source>        <maven.compiler.target>1.8</maven.compiler.target>    </properties></project>
step-3 编译运行
PS D:\docs\blog\maven-smallest-project> mvn clean package[INFO] Scanning for projects......[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ my-app ---[INFO] Building jar: D:\docs\blog\maven-smallest-project\target\my-app-1.0.jar[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS[INFO] ------------------------------------------------------------------------[INFO] Total time:  1.648 s[INFO] Finished at: 2021-03-10T17:19:55+08:00[INFO] ------------------------------------------------------------------------PS D:\docs\blog\maven-smallest-project> java -cp .\target\my-app-1.0.jar com.my.demo.AppHello World

上面就是徒手创建的Maven项目代码,总共2个文件,16行代码(不包括空行),希望对需要的朋友有帮助。

注意

之所以想使用Maven创建最小Java项目,本身是出于创建演示项目的需要,同时希望使用Maven的包管理功能,如果您需要应用于生产环境项目,您还需要更多的配置。

另外,如果您使用框架开发,比如Spring Boot,建议使用框架推荐的方法创建项目,以免浪费时间进行配置。

声明,以上代码经过测试

标签: #java建包