Maven基础:创建示例项目

本文介绍如何使用Maven的`mvn archetype:generate`命令创建示例项目,详细阐述了项目的目录结构、构建过程以及解决缺少main方法的执行策略,通过修改pom.xml配置实现jar包中包含main函数。
摘要由CSDN通过智能技术生成

使用mvn archetype:generate可以创建示例项目,这篇文章maven的基础使相关的命令行创建项目进行简单的示例说明。

环境

liumiaocn:maven liumiao$ mvn -version
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: /Library/Maven/apache-maven-3.5.4
Java version: 1.8.0_191, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.15.4", arch: "x86_64", family: "mac"
liumiaocn:maven liumiao$

创建示例项目

liumiaocn:maven liumiao$ ls
liumiaocn:maven liumiao$ mvn archetype:generate -DgroupId=com.liumiao -DartifactId=helloprj
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------< org.apache.maven:standalone-pom >-------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] 
[INFO] >>> maven-archetype-plugin:3.1.2:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO] 
[INFO] <<< maven-archetype-plugin:3.1.2:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO] 
[INFO] 
[INFO] --- maven-archetype-plugin:3.1.2:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
...
2721: remote -> za.co.absa.hyperdrive:component-archetype (-)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1615: 
Choose org.apache.maven.archetypes:maven-archetype-quickstart version: 
1: 1.0-alpha-1
2: 1.0-alpha-2
3: 1.0-alpha-3
4: 1.0-alpha-4
5: 1.0
6: 1.1
7: 1.3
8: 1.4
Choose a number: 8: 8
[INFO] Using property: groupId = com.liumiao
[INFO] Using property: artifactId = helloprj
Define value for property 'version' 1.0-SNAPSHOT: : 
[INFO] Using property: package = com.liumiao
Confirm properties configuration:
groupId: com.liumiao
artifactId: helloprj
version: 1.0-SNAPSHOT
package: com.liumiao
 Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.liumiao
[INFO] Parameter: artifactId, Value: helloprj
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.liumiao
[INFO] Parameter: packageInPathFormat, Value: com/liumiao
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.liumiao
[INFO] Parameter: groupId, Value: com.liumiao
[INFO] Parameter: artifactId, Value: helloprj
[INFO] Project created from Archetype in dir: /Users/liumiao/json/json/maven/helloprj
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29.686 s
[INFO] Finished at: 2020-06-07T19:43:35+08:00
[INFO] ------------------------------------------------------------------------
liumiaocn:maven liumiao$

目录结构

自动生成的目录结构包括一个单体测试文件、一个示例main文件,一个pom.xml文件,详细如下所示

liumiaocn:maven liumiao$ tree .
.
└── helloprj
    ├── pom.xml
    └── src
        ├── main
        │   └── java
        │       └── com
        │           └── liumiao
        │               └── App.java
        └── test
            └── java
                └── com
                    └── liumiao
                        └── AppTest.java

10 directories, 3 files
liumiaocn:maven liumiao$

构建

liumiaocn:maven liumiao$ cd helloprj/
liumiaocn:helloprj liumiao$ mvn clean package
[INFO] Scanning for projects...
[INFO] 
[INFO] ------------------------< com.liumiao:helloprj >------------------------
[INFO] Building helloprj 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ helloprj ---
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:resources (default-resources) @ helloprj ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] skip non existing resourceDirectory /Users/liumiao/json/json/maven/helloprj/src/main/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.8.0:compile (default-compile) @ helloprj ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 1 source file to /Users/liumiao/json/json/maven/helloprj/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:3.0.2:testResources (default-testResources) @
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值