- Maven Essentials
- Prabath Siriwardena
- 242字
- 2021-07-30 10:11:27
Hello Maven!
The easiest way to get started with a Maven project is to use the generate
goal of the archetype
plugin to generate a simple Maven project. Maven archetypes are discussed in detail in Chapter 3, Maven Archetypes, and plugins are covered in Chapter 4, Maven Plugins.
Let's start with a simple example:
$ mvn archetype:generate -DgroupId=com.packt.samples -DartifactId=com.packt.samples.archetype -Dversion=1.0.0 -DinteractiveMode=false
This command will invoke the generate
goal of the Maven archetype
plugin to create a simple Java project. You will see that the following project structure is created with a sample POM
file. The name of the root or the base directory is derived from the value of the artifactId
parameter:
com.packt.samples.archetype |-pom.xml |-src |-main/java/com/packt/samples/App.java |-test/java/com/packt/samples/AppTest.java
The sample POM
file will only have a dependency to the junit
JAR file with test
as the scope:
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.packt.samples</groupId> <artifactId>com.packt.samples.archetype</artifactId> <packaging>jar</packaging> <version>1.0.0</version> <name>com.packt.samples.archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
The generated App.java
class will have the following template code. The name of the package is derived from the provided groupId
parameter. If you want to have a different value as the package name, then you need to pass this value in the command itself as -Dpackage=com.packt.samples.application
:
package com.packt.samples; /** * Hello world! * */ public class App { public static void main( String[] args ) { System.out.println( "Hello World!" ); } }
To build the sample project, run the following command from the com.packt.samples.archetype
directory, where the pom.xml
file exists:
$ mvn clean install
- 黑客攻防從入門到精通(實戰秘笈版)
- Web前端開發技術:HTML、CSS、JavaScript(第3版)
- Learning RabbitMQ
- FreeSWITCH 1.6 Cookbook
- SEO實戰密碼
- 零基礎Java學習筆記
- Python深度學習:模型、方法與實現
- Unity 2018 Shaders and Effects Cookbook
- Training Systems Using Python Statistical Modeling
- 跟戴銘學iOS編程:理順核心知識點
- Python網絡爬蟲實例教程(視頻講解版)
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- 啊哈C語言!:邏輯的挑戰(修訂版)
- Head First Kotlin程序設計
- 基于MATLAB的控制系統仿真及應用