首页 > 学院 > 开发设计 > 正文

一些常用的Maven命令和配置

2019-11-06 08:04:57
字体:
来源:转载
供稿:网友

1.查看pom的依赖树

mvn dependency:tree

2.查看项目的有效的pom

mvn help:effective-pom

3.查看项目的有效的settings

mvn help:effective-settings

4.deploy的时候,排除掉war所在的module

  <plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-deploy-plugin</artifactId>    <version>2.7</version>    <configuration>        <skip>true</skip>    </configuration>  </plugin>

5.deploy的时候一块发布源码

<plugin>				<groupId>org.apache.maven.plugins</groupId>				<artifactId>maven-source-plugin</artifactId>				<executions>					<execution>						<id>attach-sources</id>						<goals>							<goal>jar</goal>						</goals>					</execution>				</executions>			</plugin>【注意】在多项目构建中,将source-plugin置于顶层或parent的pom中并不会发挥作用,必须置于具体项目的pom中。

6.打包的时候设置多个资源目录

<build>	<resources>		<resource>			<directory>src/main/resources</directory>		</resource>		<resource>			<directory>src/main/java</directory>			<excludes>				<exclude>**/*.java</exclude>			</excludes>		</resource>	</resources></build>

7引用maven私服:

<repositories>		<repository>			<id>nexus</id>			<name>nexus</name>			<url>http://your server/nexus/content/groups/public/</url>			<releases>				<enabled>true</enabled>			</releases>			<snapshots>				<enabled>true</enabled>			</snapshots>		</repository>	</repositories>	<pluginRepositories>		<pluginRepository>			<id>nexus</id>			<name>nexus</name>			<url>http://your server/nexus/content/groups/public/</url>			<releases>				<enabled>true</enabled>			</releases>			<snapshots>				<enabled>true</enabled>			</snapshots>		</pluginRepository>	</pluginRepositories>8.deploy到maven私服

(1)pom.xml

<distributionManagement>		<repository>			<id>spark-release</id>			<name>Spark Release</name>			<url>http://your server/nexus/content/repositories/releases/</url>		</repository>		<snapshotRepository>			<id>spark-snapshots</id>			<name>Spark SNAPSHOTS</name>			<url>http://your server/nexus/content/repositories/snapshots/</url>		</snapshotRepository>	</distributionManagement>(2)settings.xml:

<servers>	<server>		<id>spark-release</id>		<username>your username</username>		<passWord>your pasword</password>	</server>	<server>		<id>spark-snapshots</id>		<username>your username</username>		<password>your pasword</password>	</server></servers>【注意】两个地方的id必须要对应起来,具体叫什么则随意。

9.项目中依赖的版本管理

(1)parent-pom.xml:

<PRoperties>	<jstl.version>1.2</jstl.version></properties><dependencyManagement>	<dependencies>		<dependency>			<groupId>javax.servlet</groupId>			<artifactId>jstl</artifactId>			<version>${jstl.version}</version>		</dependency>	<dependencies></dependencyManagement>(2)各个子模块的pom.xml:

<dependencies>		<dependency>			<groupId>javax.servlet</groupId>			<artifactId>jstl</artifactId>		</dependency>	<dependencies>

9.新建项目时候的结构:

(1)最外层的项目的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">	<modelVersion>4.0.0</modelVersion>	<artifactId>demo</artifactId>	<packaging>pom</packaging>	<name>demo</name>	<url>http://maven.apache.org</url>	<parent>		<groupId>com.spark</groupId>		<artifactId>demo-parent</artifactId>		<version>0.0.1-SNAPSHOT</version>		<relativePath>demo-parent</relativePath>	</parent>	<modules>		<module>demo-parent</module>		<module>demo-web</module>		<module>demo-service-api</module>		<module>demo-service-impl</module>	</modules></project>其中有个module作为parent,它也是所有的module的最终parent。

(2)demo-parent的pom.xml:

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">	<modelVersion>4.0.0</modelVersion>	<groupId>com.spark</groupId>	<artifactId>demo-parent</artifactId>	<version>0.0.1-SNAPSHOT</version>	<packaging>pom</packaging>	<name>demo-parent</name>	<url>http://maven.apache.org</url>	<properties>	</properties>	<repositories>	</repositories>	<pluginRepositories>	</pluginRepositories>	<distributionManagement>	</distributionManagement>	<dependencyManagement>	</dependencyManagement>	<build>		<resources>		</resources>		<plugins>		</plugins>	</build></project>在parent中把所有的公共配置都定义好。

(3)demo-service-impl的pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">	<modelVersion>4.0.0</modelVersion>	<artifactId>demo-service-impl</artifactId>	<packaging>jar</packaging>	<name>demo-service-impl</name>	<url>http://maven.apache.org</url>	<parent>		<groupId>com.spark</groupId>		<artifactId>demo-parent</artifactId>		<version>0.0.1-SNAPSHOT</version>		<relativePath>../demo-parent</relativePath>	</parent>	<dependencies>	</dependencies></project>各个module中只需要指定一下parent,然后引入自己所需要


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表