1.执行mvn命令会调用bin下面的脚本,而这些脚本实际是操作java命令。既然是运行java命令,那么运行java命令可用的参数当然也能够在运行mvn命令时使用,比如-D就是java参数。
比如下面查看compiler插件的详细情况命令
mvn help:describe -Dplugin=compiler2.java命令执行war和jar文件
对于war文件,如果是内置了jetty容器,所以除了放到tomcat里面进行部署,还可以通过java命令直接部署。
比如jenkins.war包就内置了jetty容器,所以使用命令,其中-httpPort指定端口,如果不加该参数默认8080.
java -jar jenkins.war --httpPort=8082
当然java -jar xxx.jar可以执行jar文件,当然文件中要有main函数配置。具体看maven---3手写一个helloWord--->4.2运行
-
3. java命令打包成war和jar文件
- 打成war包
- 要打成war包,那么就需要知道标准war包的中的文件目录,一个war包中至少包含两个子目录META-INF和WEB-INF,其中META-INF是执行打包命令时生成的,而WEB-INF是我们提供的。所以被打包的文件夹中至少包含WEB-INF目录。
为知笔记【tomcat中虚拟目录配置、配置虚拟主机、打war包】文章有介绍
4.classes和lib目录都会在运行的时候被加入到Classpath中,
5.查看jar包中包含文件的命令
jar tvf:
如:
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
效果,这是一个spirng-boot生成的jar文件,可以直接运行,所以和常规的jar文件包含的内容有所不同,常规的jar文件中不会包含其它jar包。
6 maven项目导入IDE
Most IDEs can import Maven projects directly, for example Eclipse users can select Import… → Existing Maven Projects from the File menu.
If you can’t directly import your project into your IDE, you may be able to generate IDE metadata using a build plugin. Maven includes plugins for Eclipse and IDEA; Gradle offers plugins for various IDEs.
7.dos命名中查看命令提示使用 -> 命令 ?/
8.测试远程客户机端口是否打开命令
telnet: telnet 218.14.227.197 3128,如果端口打开会是黑屏。9.查看当前项目已解析依赖
mvn dependency:list
10 查看依赖树
mvn dependency:tree
mvn compile dependency:tree -Dverbose >a.log
11 分析依赖树
mvn dependency:analyze
-
12.构件在仓库中存放路径规则
groupId/artifactId/version/artifactId-verson.packaging。
- 快照版本仓库中关于该版本构件元数据存放路径:
groupId/artifactId/version/maven-metadata.xml
- 发布版本构件仓库关于该构件(不分版本)的元数据存放路径:
groupId/artifactId/maven-metadata.xml
- 快照版本仓库中关于该版本构件元数据存放路径:
-
13.安装第三方构件到本地仓库/远程仓库
- 第三方jar在本地位置:g:\edu.mit.jwi_2.3.3_jdk.jar ,那么自定义它的坐标信息:gourpId=local.edu.stanford
artifactId=edu.mit.jwi_jdk
version=2.3.3
packaging =jar - 安装到本地仓库
- 第三方jar在本地位置:g:\edu.mit.jwi_2.3.3_jdk.jar ,那么自定义它的坐标信息:gourpId=local.edu.stanford
mvn install:install-file -Dfile=g:\edu.mit.jwi_2.3.3_jdk.jar -DgroupId=local.edu.stanford -DartifactId=edu.mit.jwi_jdk -Dversion=2.3.3 -Dpackaging=jar
- 安装到远程仓库
- 远程仓库地址: http://localhost:8081/repository/3rd-party/
- 远程仓库在settings.xml中认证信息:
<server>
<id>nexus-3rd-party</id>
<username>admin</username>
<password>admin123</password>
</server>
- 命令
mvn deploy:deploy-file -Dfile=g:\edu.mit.jwi_2.3.3_jdk.jar -DgroupId=local.edu.stanford -DartifactId=edu.mit.jwi_jdk -Dversion=2.3.3 -Dpackaging=jar -Durl=http://localhost:8081/repository/3rd-party/ -DrepositoryId=nexus-3rd-party
14.跳过测试
mvn clean package -Dmaven.test.skip=true
15 三套生命周期
clean、default、site,每次构建按顺序执行,直到最后一个目标。-
激活一个profile。
通过参数-P加id方式,多个id以逗号(,)分隔- mvn clean install -Pdev 激活一个id为dev的profile。
查看当前激活的profile:
mvn help:active-profiles
列出当前所有的profile:
mvn help:all-profiles
从某个模块开始构建-pl,同时构建其依赖模块-am
mvn clean install -pl account-email -am
----持续更新