项目中有用的Maven命令
一、maven是什么?
Maven这个词可以翻译为“知识的积累”,也可以翻译为“专 家”或“内行”。作为Apache组织中的一个颇为成功的开源项目,Maven主要服务于基于Java平 台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。
1. 将没有在maven官方repository中的jar包加入到本地的maven repository中:
mvn install:install-file -Dfile=path-to-your-artifact-jar -DgroupId=your.groupId -DartifactId=your-artifactId -Dversion=your-version -Dpackaging=jar
2. 使Maven2在下载依赖包的同时下载其源代码包和文档的方法:
(Maven import the source code and documentation)
1). 使用maven命令:mvn dependency:sources 下载依赖包的源代码。
2). 使用参数 -DdownloadSources=true 下载源代码jar。 -DdownloadJavadocs=true 下载javadoc包。
mvn eclipse:eclipse -Declipse.useProjectReferences=true -DdownloadSources=true -DdownloadJavadocs=true
mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true
mvn -DdownloadSources=true -DdownloadJavadocs=true -DoutputDirectory=target/eclipse-classes eclipse:eclipse
mvn -DdownloadSources=true eclipse:eclipse
更为直观的理解:使用mvn eclise:clean eclipse:eclipse之前,eclipse中项目的布局是:
在使用该命令之后,项目布局是:
3. 使用Maven命令执行java Class的main方法:
mvn exec:java -Dexec.mainClass="com.wsheng.test.RunSampleMainClass" -Dexec.classpathScope=test
4. 在控制台中执行Maven命令时,怎样用log记录查看所有的执行过程中的信息:
1) 如查看maven在install时的具体执行信息:
常规: mvn clean install -DskipTests
查看详细信息: mvn clean install -DskipTests -X -e
2) 将Maven在install时执行的具体信息输出到C盘目录下的log.txt中
a) 首先使用plugin enable dependency tree
. <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.5.1</version>
<executions>
<execution>
<id>build-classpath</id>
<phase>generate-sources</phase>
<goals>
<goal>build-classpath</goal>
</goals>
<configuration>
<!-- configure the plugin here -->
</configuration>
</execution>
</executions>
</plugin>
b). mvn clean install -X > c:/log.txt
5. maven中多个命令可以合并使用:maven –U clean eclipse:clean eclipse:eclipse
mvn clean: 清除目标目录中的生成结果。
mvn eclipse:eclispse: 生成 Eclipse 项目文件及包引用定义,注意,需确保定义Classpath Variables: M2_REPO,指向本地maven类库目录。
6.mvn clean install site -DskipTests -Dmaven.test.skip
- Clean Lifecycle 在进行真正的构建之前进行一些清理工作。
- Default Lifecycle 构建的核心部分,编译(complile),测试(test),打包(package),安装(install), 部署(deploy)等等。mvn clean install会把生成的jar打包到MAVEN的本地仓库中
- Site Lifecycle 生成项目报告,站点,发布站点。
- -Dmaven.test.skip 在编译,打包,部署时忽略测试包中的Class和Resources.
如果想跳过测试阶段,可用:
想临时性跳过测试代码的编译,可用:
maven.test.skip同时控制maven-compiler-plugin和maven-surefire-plugin两个插件的行为,既跳过编译,又跳过测试。
7. mvn -v 查看所在机器上maven的安装版本
8. 设置maven中下载jar包的时候使用代理服务器下载,也可同时设置哪些主机不使用代理。
编辑settings.xml文件
<proxies>
<proxy>
<id>abc</id>
<active>true</active>
<protocol>http</protocol>
<host> </host>
<port></port>
<username>...</username>
<password>....</password>
<nonProxyHosts>.....</nonProxyHosts>
</proxy>
</proxies>
nonproxyhosts指定哪些主机名不使用代理
9.查看Maven中的依赖情况:
mvn dependency:list 可以看到当前项目已解析的依赖
mvn dependency:tree 看到依赖树
mvn dependency:analyse 查看依赖的工具
10. 剪裁反应堆(执行模块)
有时多个模块的话,有可能只是选取其中的某些部分执行:
比如mvn-aggragtor下有mvn-email,mvn-parent,mvn-persist,mvn-email等模块依赖mvn- parent模块,则
mvn clean install -pl account-email -am
-pl:构建指定的模块,模块间用逗号分割 -am:同时构健模块的所依赖的模块
11. Maven跳过测试和测试代码的编译:
跳过测试scope(test):mvn package-DskipTests
跳过测试代码的编译: mvn package-Dmaven.test.skip=true
注: 默认情况下,maven-surefile-plugin的test目标会自动执行测试
src/test/java下的一组命名模式的测试类,该组模式为**/Test*.java:
**/*Test.java:
**/*TestCase.java:
相关推荐
在本项目中,你需要了解如何创建一个新的Maven项目,编写`pom.xml`文件来定义项目依赖,以及如何使用Maven命令进行编译和打包。 3. **HTTP协议**:爬虫主要通过发送HTTP请求获取网页内容,因此理解HTTP的基本原理,...
- **2.6 安装NetBeans Maven插件**:NetBeans Maven插件允许在NetBeans IDE中使用Maven进行项目管理和构建。 - **2.7 Maven安装最佳实践** - **2.7.1 设置MAVEN_OPTS环境变量**:通过设置此环境变量可以优化Maven...
### Maven 教程知识点概述 #### 一、Maven 概念及作用 - **定义**: Maven 是一款基于 Java 平台的项目构建与依赖管理工具。...通过上述知识点的学习,可以更好地理解和运用 Maven,在实际项目中提高开发效率和质量。
### Maven常用命令 Maven命令通常采用生命周期(Lifecycle)的方式执行。Maven提供了三个主要的生命周期:clean、default 和 site。 - **`mvn clean`**:清理项目,删除目标目录下的所有文件。 - **`mvn compile`*...
#### 四、Maven常用命令 - `mvn clean`:清理项目,删除项目中的所有临时文件。 - `mvn compile`:编译项目的Java源代码。 - `mvn test`:运行项目中的单元测试。 - `mvn package`:打包项目,生成可部署的归档文件...
8. **构建流程**:使用Maven进行构建时,常见的命令包括`mvn clean`(清理目标目录)、`mvn compile`(编译源代码)、`mvn test`(运行测试)、`mvn package`(打包应用)等。 9. **运行与调试**:对于Web应用,...
- **生命周期模型**:Maven提供了一个完整的构建生命周期模型,该模型总结了大量项目的实际需求,遵循此模型可以避免许多常见错误。 - **插件扩展性**:Maven支持广泛的插件生态系统,满足不同场景下的特定需求。...
**SpringBoot入门详解** SpringBoot是由Pivotal团队提供的全新框架,其设计目标是为了简化Spring应用的初始...在实际开发中,Maven或Gradle是更常见的构建工具,但了解非Maven方式有助于理解SpringBoot的底层机制。
在系统环境变量中设置 `MAVEN_HOME` 指向 Maven 的安装目录,并将 `${MAVEN_HOME}/bin` 添加到 `PATH` 环境变量中。 **2.4 验证 Maven 安装** 打开命令行工具,运行 `mvn -version` 命令查看 Maven 版本信息。 ##...
2. **Shell命令的掌握**:熟练掌握了HDFS常用Shell命令后,可以在日常运维或数据处理过程中快速高效地执行任务。 3. **Java API的应用**:Java API提供了更高级的功能支持,如并发处理、错误恢复等,对于开发高性能...
【Java岗位求职简历详解】 这份简历是一位专注于Java开发的专业人士,具有丰富的项目经验和全面的技术技能。以下是简历中涉及的关键...他的简历充分展示了在不同项目中如何运用各种技术和工具来解决实际问题的能力。
根据提供的文件信息,我们可以梳理出一系列与Java相关的知识...以上仅为Java部分知识点的概览,实际上Java是一门非常庞大且不断发展的语言,掌握这些基础后还需不断学习新的技术和框架以适应不断变化的需求和技术趋势。
Java开发中的JAR(Java Archive)文件是Java平台特有的归档格式,用于打包类库、资源文件和其他相关组件。在Java应用程序或Web应用中,...在实际开发中,理解和熟练运用这些知识,可以有效地提高开发效率和代码质量。
在Java项目实战练习中,我们通常会涉及到许多关键知识点,这些知识涵盖了软件开发的各个方面,包括但不限于编程基础、设计模式、框架应用、数据库交互、异常处理、多线程以及单元测试等。以下是对这些核心概念的详细...
例如,在Maven项目中可以使用`svnkit-maven-plugin`来管理和同步SVN仓库。 - 对于IDEA等开发工具,也可以配置SVN插件来简化版本控制操作。 **2. 使用JRebel进行热部署** - **JRebel**是一款强大的Java类加载器插件...
- **Java数据结构**(栈、队列、链表的实现):学习并实践常见的数据结构,包括栈、队列和链表的实现及其在实际问题中的应用。 - **IO流技术及应用**:讲解文件读写、网络数据传输等场景下的IO流技术,包括字节流、...
- **应用场景**:在实际编程中,使用`final`关键字有助于提高代码的安全性和可维护性,尤其是在多线程环境中,它可以防止意外的数据修改。 #### 2. 构造方法的理解 - **知识点解释**:构造方法是一种特殊的方法,...
【北大青鸟-话费自动缴存系统】是北大青鸟S2阶段的Java毕业设计项目,旨在训练学员们在实际开发环境中的编程能力和问题解决技巧。该项目主要目标是构建一个自动化系统,能够便捷地处理话费的充值与管理,包括但不...
- **Eclipse 如何从 SVN 导入 Maven 项目**:这部分内容介绍了如何在 Eclipse 中导入 Maven 项目,并解决导入过程中可能遇到的问题。 - **Maven 构建 web 项目时 war 名称由什么决定**:这部分讲解了 Maven 构建 web...