maven1

本文详细介绍了 Maven 的配置及构建过程,包括环境变量设置、依赖管理、插件配置等核心内容。通过实例展示了如何定义项目的构建生命周期,并解释了不同依赖范围的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

maven
maven home M2_HOME
maven path
maven main test
main java

test java

mvn -v
mvn compile
mvn test
mvn clean
mvn package
mvn install

mvn setting.xml

mvn central repositroy maven moudle builder
http://repo.maven.apache.org/maven2

mvn archetype:generate

http://mvnrepository.com/search?q=log4j


level
compile 默认 编译 打包 都会加入
provided 编译 测试 使用, 打包不用
system
test 测试范围有效,编译 打包 不用.不会传递
import
runtime 运行时候依赖,编译时候不依赖 jdbc driver


web servlet-api

依赖级别相同

A---L1 直接依赖
B---L2 直接依赖
C---A , B谁在前面,就依赖谁。 间接依赖


依赖级别不同
近的优先, 最近的就是直接写入pom.xml

排除包写法
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>xxxx</groupId>
<artifactId>xxxx</artifactId>
</exclusion>
</exclusions>
</dependency>


<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.1.6.v20100715</version>
<configuration>
<systemProperties>
<systemProperty>
<name>spring.profiles.active</name>
<value>development</value>
</systemProperty>
</systemProperties>
<webAppConfig>
<contextPath>/${project.artifactId}</contextPath>
<!-- <defaultsDescriptor>src/main/resources/web.xml</defaultsDescriptor> -->
</webAppConfig>
<scanIntervalSeconds>600</scanIntervalSeconds>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8088</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-xmls</id>
<phase>process-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.ftl</include>
<include>**/*.java</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<testResources>
<testResource>
<directory>src/main/java</directory>
<includes>
<include>**/*.ftl</include>
</includes>
</testResource>
<testResource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</testResource>
</testResources>
</build>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-xmls</id>
<phase>process-sources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/classes</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.ftl</include>
<include>**/*.java</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值