登录
推荐 文章 Go 技术 课程 下载 专题 AI
首页 >  文章 >  软件教程

《Maven实战》全书精华速览

时间:2025-05-16 10:28:08 263浏览 收藏

《Maven实战》全书精华总结了Maven的核心操作与配置方法。书中详细介绍了如何在Linux和Windows系统中设置Maven的JVM参数,以及如何进行用户级别和全局级别的Maven配置。此外,书中还涵盖了大量Maven命令的使用方法,从查看版本和帮助信息,到项目构建、测试和部署的各个阶段,再到依赖管理和插件使用等。同时,书中对settings.xml和pom.xml文件的配置进行了详尽的总结,提供了实际的配置示例。此外,还介绍了超级POM的相关内容,帮助读者全面掌握Maven的使用技巧和最佳实践。

1. 两个操作(1) maven的JVM参数的设置方法

Linux:在~/.bash_profile文件中添加

代码语言:javascript代码运行次数:0运行复制
export MAVEN_OPTS="-Xms512m -Xmx1024m"

Windows:如下图

《Maven实战》全书总结
(2) 用户级别的maven配置

把MAVEN_HOME/conf/seettings.xml cp 到 ~/.m2/下,在.m2下的settings.xml中所作的配置就是用户级别的配置,而直接编辑MAVEN_HOME/conf/seettings.xml所作的配置是全局的配置

2. 涉及的maven命令代码语言:javascript代码运行次数:0运行复制
[mvn -v]: 查看maven版本[mvn -h]: 查看帮助[mvn help:system]: 查看java的系统属性和环境变量[mvn help:active-profiles]: 查看激活的profile[mvn help:all-profiles]: 列出所有的profile[mvn help:effective-pom]: 查看项目的所有pom元素(包括父元素中的默认配置)[mvn clean/compile/test/package/install/deploy]: maven的不同阶段的命令,可以互相组合使用[mvn archetype:generate]: 创建项目骨架[mvn dependency:list]: 显示项目中所有已解析依赖[mvn dependency:tree]: 查看当前项目的依赖树[mvn dependency:analyze]: 分析项目依赖[mvn clean install-U]: 强制maven检查更新[mvn help:describe -Dplugin=org.apache.maven.plugins:maven-source-plugin:3.0.1 -Ddetail]: 查看某插件的详细信息[mvn help:describe -Dplugin=source]: 上一个命令的简写[mvn help:describe -Dplugin=compile -Dgoal=compile]: 只查看goal相关的信息[mvn install -Dmaven.test.skip=true]: 构建时跳过测试(不编译测试代码,不运行测试代码)[mvn package -DskipTests]: 构建时跳过测试(编译测试代码,不运行测试代码)[mvn clean install -pl module1,module2]: 构建指定的模块[mvn clean install -pl module -am]: 构建指定模块及其依赖的模块[mvn clean install -pl module -amd]: 构建指定模块及依赖其的模块[mvn clean install -rf module]: 在完整的反应堆构建顺序基础上指定从哪个模块开始构建[mvn clean install -pl module1 -amd -rf module2]: 构建module1以及依赖其的模块,并且从module2开始构建[mvn clean install -P dev]: 激活id为dev的profile[mvn clean install -P profile1,profile2]: 激活多个profile[mvn clean install -Dkey=value]: 设置系统属性值[mvn test -Dtest=A]: 测试A类[mvn test -Dtest=A*B]: 测试以A开头B结尾的类[mvn test -Dtest=A,B]: 测试A类和B类[mvn test -Dtest=A*B,C]: 测试以A开头B结尾的类以及C类[mvn test -Dtest -DfailIfNoTests=false]: 即使没有运行测试也不要报错[mvn cobertura:cobertura]: 生成测试覆盖率报告,文件为target/site/cobertura/index.html[mvn jetty:run]: 使用jetty-maven-plugin进行测试[mvn jetty:run -Djetty.port=9999]: 启动jetty服务进行测试,并指定端口号[mvn cargo:start]: 发布war包到本地服务器[mvn cargo:deploy]: 发布war包到远程服务器[mvn release:clean]: 发布新版本前clean[mvn release:prepare]: 发布新版本前的准备工作[mvn release:prepare -DautoVersionSubmodules=true]: 子模块与父模块使用相同的版本[mvn release:rollback]: prepare后如果发现错误,可以回滚[mvn release:perform]: 发布新版本[mvn release:branch -DbranchName=0.0.1 -DupdateBranchVersions=true -DupdateWorkingCopyVersions=false]: 创建分支,分支使用新版本,不更新主干(trunk)的代码[mvn clean deploy -Dgpg.passphrase=passwd]: 发布已经签名的构件[mvn gpg:sign-and-deploy-file -DgroupId=com.bonc.rdpe -DartifactId=maven001 -Dversion=0.0.1-SNAPSHOT -Dpomfile=target/maven001-0.0.1-SNAPSHOT.pom -Dfile=target/maven001-0.0.1-SNAPSHOT.jar -Durl=http://192.168.138.129:8081/repository/maven-snapshots/ -DrepositoryId=nexus-snapshots]: 发布没有签名的文件并对其签名[mvn site]: 生成站点[mvn site:stage -DstagingDirectory=D:\tmp]: 把站点预发布到某个临时文件夹下
3. settings.xml文件内容总结代码语言:javascript代码运行次数:0运行复制
path/to/maven/repotruefalseorg.eclipse.jettycom.your.pluginsdev3-proxytruehttprootroot172.16.13.1859999https://repo.maven.apache.org/maven2|*.google.comnexus-releaseshadoophadoopnexus-snapshothadoophadoopPublic RepositoriesPublic Repositories*http://172.16.13.185:9000/nexus/content/groups/public/alimavenaliyun mavenhttp://maven.aliyun.com/nexus/content/groups/public/centraljdk-1.8true1.81.81.81.8profile1com.mysql.jdbc.Driverjdbc:mysql://192.168.138.101:3306/testdevdev-pwdprofile2one.of.system.propertyexpected.valueprofile3Windows 10Windowsamd6410.0profile4x.propertiesy.propertiesdev
4. pom.xml文件内容总结代码语言:javascript代码运行次数:0运行复制
4.0.0com.bonc.rdpemaven0010.0.1-SNAPSHOTjarmaven0012.7.64.72.3.02.5.6centralCentral Repositoryhttps://repo.maven.apache.org/maven2defaulttrueneverwarnfalsedev3-repositoryDev3 Release Repositoryhttp://172.16.13.185:9000/nexus/content/repositories/releases/dev3-snapshots-repositoryDev3 Snapshot Repositoryhttp://172.16.13.185:9000/nexus/content/repositories/snapshots/org.springframeworkspring-core${springframework.version}org.springframeworkspring-beans${springframework.version}org.springframeworkspring-context${springframework.version}org.springframeworkspring-context-support${springframework.version}junitjunit${junit.version}testcom.bonc.rdpeaccount-xxx0.0.1-SNAPSHOTpomimportorg.apache.sparkspark-sql_2.11${spark.version}jarsystem${JAVA_HOME}/lib/rt.jartrueorg.apache.hadoophadoop-clientorg.apache.hadoophadoop-client${hadoop.version}devcom.mysql.jdbc.Driverjdbc:mysql://192.168.138.101:3306/devdevdev-pwddevcom.mysql.jdbc.Driverjdbc:mysql://192.168.138.101:3306/testtesttest-pwdorg.apache.maven.pluginsmaven-compiler-plugin1.81.8org.apache.maven.pluginsmaven-resources-pluginUTF-8${project.basedir}/target${project.build.directory}/classes${project.artifactId}-${project.version}${project.build.directory}/test-classes${project.basedir}/src/main/javasrc/main/scripts${project.basedir}/src/test/java${project.basedir}/src/main/resourcestrue${project.basedir}/src/test/resourcestrueorg.apache.maven.pluginsmaven-compiler-plugin1.81.8trueorg.apache.maven.pluginsmaven-source-plugin3.0.1attach-sourceverifyjar-no-forkorg.apache.maven.pluginsmaven-shade-plugin3.1.1packageshadecom.bonc.rdpe.maven001.HelloWorldorg.apache.maven.pluginsmaven-jar-plugin3.1.0test-jarorg.apache.maven.pluginsmaven-war-plugin3.2.2src/main/webapptrue**/*.css**/*.jsorg.apache.maven.pluginsmaven-surefire-plugin2.22.0${project.build.directory}    est-reportstrue**/*Tests.java**/*ServiceTest.java**/ArrayTest.javatestng.xmlgroup1
5. 超级pom代码语言:javascript代码运行次数:0运行复制
4.0.0centralCentral Repositoryhttps://repo.maven.apache.org/maven2defaultfalsecentralCentral Repositoryhttps://repo.maven.apache.org/maven2defaultfalsenever${project.basedir}/target${project.build.directory}/classes${project.artifactId}-${project.version}${project.build.directory}/test-classes${project.basedir}/src/main/java${project.basedir}/src/main/scripts${project.basedir}/src/test/java${project.basedir}/src/main/resources${project.basedir}/src/test/resourcesmaven-antrun-plugin1.3maven-assembly-plugin2.2-beta-5maven-dependency-plugin2.8maven-release-plugin2.5.3${project.build.directory}/siterelease-profileperformReleasetruetruemaven-source-pluginattach-sourcesjartruemaven-javadoc-pluginattach-javadocsjartruemaven-deploy-plugintrue

今天关于《《Maven实战》全书精华速览》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>