1、pom打jar包的时候设置MANIFEST.MF的key/value,可以通过在pom.xml文件中添加plugin的方式来实现,这些plugin都在<project><build><plugins>下边:
<plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <finalName>test</finalName> <archive> <manifestEntries> <Premain-class>com.tmall.buy.SizeOfObject</Premain-class> <Boot-Class-Path></Boot-Class-Path> <Can-Redefine-Classes>false</Can-Redefine-Classes> </manifestEntries> <addMavenDescriptor>false</addMavenDescriptor> </archive> </configuration> </plugin>
2、maven支持多source directory
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.1</version> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <!-- Source folder --> <source>src/config/java</source> <source>src/main/java</source> <source>src/member/java</source> </sources> </configuration> </execution> </executions> </plugin>
3、设置jdk版本
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF8</encoding> </configuration> </plugin>
4、创建多子工程的父模块,注意这里是generate,create在maven3.0.5以后deprecated了
mvn archetype:generate -DgroupId=com.cn.lc.mw -DartifactId=little-middleware-study -DarchetypeArtifactId=maven-archetype-quickstart
创建完后,修改该项目的pom.xml文件,将package类型改为pom,并删除其中的src目录。
<packaging>pom</packaging>
5、为父模块创建子工程,在父工程目录下运行:
mvn archetype:generate -DgroupId=com.cn.mw.blog.dao -DartifactId=spring-boot-blog-dao -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DarchetypeCatalog=internal
此时父工程会添加子工程内容
<modules> <module>middleware-study-baba</module> </modules>
子工程pom中也有parent内容
<parent> <groupId>com.cainiao.lc.mw</groupId> <artifactId>little-middleware-study</artifactId> <version>1.0-SNAPSHOT</version> </parent>
另,创建web工程:
mvn archetype:generate -DgroupId=com.cn.mw.blog.web -DartifactId=spring-boot-blog-web -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=internal
相关推荐
### Maven 使用技巧 1. **依赖管理**:Maven 可以自动管理项目的依赖,只需在 POM.xml 中添加依赖即可。 2. **生命周期**:Maven 有 `clean`, `compile`, `test`, `package`, `install` 等多个阶段,你可以通过...
IntelliJ Idea下Maven插件使用技巧 标签:Idea Maven IntelliJ Idea下Maven插件使用技巧,对于开发人员快速上手,并可能有效提高开发效率,特将此整理分享给大家。
** Maven使用技巧 ** 1. **常用命令**:如`mvn clean`用于清理目标目录,`mvn compile`用于编译源代码,`mvn package`则会打包项目。 2. **POM优化**:合理设置依赖的范围(compile、test、runtime等),避免引入...
4. Maven 使用技巧: - **设置全局 MAVEN_HOME**:将Maven安装目录添加到系统环境变量,使得在任何地方都能使用Maven命令。 - **pom.xml**:项目的配置文件,定义项目信息、依赖、构建规则等。 - **clean, ...
通过深入阅读这本书,你可以掌握更复杂的Maven使用技巧,提升项目管理水平。 **Better_Builds_With_Maven(英文版)** 这本书是Maven的另一经典之作,英文原版为“Better Builds with Maven”。作者详细阐述了如何...
在本文中,我们将深入探讨Apache Maven的安装以及一些实用技巧,帮助开发者更高效地使用这个工具。 首先,我们来讨论如何在Windows环境下安装Apache Maven。下载最新版本的Maven安装包,例如这里的`apache-maven-...
博文链接指向了iteye博客上的一个条目,可能包含了作者关于Maven使用技巧、最佳实践或者问题解决的经验分享。 【标签】"源码"和"工具"表明这份资料可能包含有关于如何将Maven应用于源代码管理、构建和部署的过程,...
**正文** Maven是Java开发领域中不可或缺的项目管理和构建工具,由Apache Software Foundation开发并维护。...因此,无论是初学者还是经验丰富的开发者,都应该掌握Maven的使用技巧,以适应快速变化的软件开发环境。
**李兴华maven配置与使用** Maven是一款强大的项目管理工具,主要应用于Java开发领域。它通过统一的构建过程,简化了项目的构建、依赖管理和文档生成...通过不断实践和探索,你会发现更多Maven的实用技巧和高级用法。
博客链接中的“https://liuzongan.iteye.com/blog/126914”可能提供了更多关于如何配置和使用POM.xml的实例和技巧。 【标签】:“源码”与“工具” “源码”标签暗示了Maven在处理和管理项目源代码时的重要性。...
通过这份Maven资料大合集,你将能够全面了解Maven的工作原理,熟练掌握Maven的使用技巧,并能在实际项目中运用自如。无论你是想要快速入门,还是提升Maven使用水平,这套资料都能提供宝贵的指导。
这个文档可能包含了关于Maven3.3.9的使用技巧、常见问题解答或特定构建场景的配置示例,可以帮助用户更好地理解和使用Maven。可能包括如何自定义Maven的构建过程、如何处理复杂的依赖关系、如何配置插件等实用内容。...
- **最佳实践**:分享了一些使用 Maven 的推荐做法和技巧。 - **IDE 集成**: - **IntelliJ IDEA**:特地提到了如何在 IntelliJ IDEA 中集成 Maven。 - **自定义 Maven**: - **脚本**:介绍了如何使用脚本来...
以下是使用Maven进行项目构建的一些关键步骤: 1. **创建POM文件**:每个Maven项目都需要一个`pom.xml`文件来定义项目的结构、依赖关系、构建目标等信息。 2. **添加依赖**:在`pom.xml`文件中添加项目所需的依赖...
【Eclipse整合Maven开发教程】 Maven是一个强大的构建工具,尤其在Java开发领域中广泛使用,它负责项目的依赖管理、构建过程以及元数据...对于初学者来说,遵循本文的步骤,可以快速掌握在Eclipse中使用Maven的技巧。
10. **Maven 配置技巧**:分享一些实用的 Maven 配置技巧,如如何改变默认的编译源码和目标版本,以及如何自定义输出目录。 通过这个精品教程,你将能够熟练地使用 Maven 来管理和构建你的Java项目,提高开发效率,...