Java - 框架之 Maven
一. 下载依赖包
mvn help:system
2. 配置下载路径到 aliy (可选)
<!-- 阿里云仓库 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <!-- 中央仓库1 --> <mirror> <id>repo1</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo1.maven.org/maven2/</url> </mirror> <!-- 中央仓库2 --> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror>
三. 命令
1. mvn commpile
完成编译操作,执行完毕后会自动生成 target 目录,该目录下存放了编译后的字节码文件。
2. mvn clean
执行完毕后,会将 target 目录删除。
3. mvn test
完成单元测试操作,执行完毕后会将 target 目录中生成三个文件夹: surefire, surefire-reports(测试报告), test-classes(测试的字节码文件 )
4. mvn package
完成打包操作,执行完毕后会在 target 目录中生成一个文件,( jar, war )
5. mvn install
将打好的 jar 包安装到本地仓库,执行完毕后,会在本地仓库出现安装后的 jar包,可在其它工程中使用。
四. MAVEN (GAV) 坐标
下载地址: Maven 仓库
格式:
<dependencies> <dependency> <groupId>com.q</groupId> <artifactId>maven_02</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> </dependencies>
四. scope
第二依赖范围是 compile ,依赖可以传递。
第二依赖范围是 test ,依赖不可以传递。
五. 取消依赖
<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.q.test2</groupId> <artifactId>maven_03</artifactId> <version>0.0.1-SNAPSHOT</version> <dependencies> <dependency> <groupId>com.q</groupId> <artifactId>maven_02</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- 取消依赖 maven_01--> <exclusions> <exclusion> <groupId>com.q</groupId> <artifactId>maven_01</artifactId> </exclusion> </exclusions> </dependency> </dependencies> </project>
# 在 pom.xml 中:
六. 使用 tomcat 7
配置 Run Configurations:
- name : tomcat
- Goals : tomcat:run
<build> <plugins> <plugin> <!-- 配置插件tomcat7 --> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <port>8080</port> <path>/</path> </configuration> </plugin> </plugins> </build>
七. 使用 jetty
配置 Run Configurations:
- name : jetty
- Goals : jetty:run
<build> <finalName>test4</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.26</version> <configuration> <scanIntervalSeconds>10</scanIntervalSeconds> <webApp>${basedir}/target/meven_web_04</webApp> <webAppConfig> <!-- 访问路径 根路径访问,演示/test4又是什么情况--> <contextPath>/</contextPath> </webAppConfig> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <headerBufferSize>16192</headerBufferSize> </connector> </connectors> </configuration> </plugin> </plugins> </build>
注意:如果报错可能需要配置:
<dependencies> <!-- 这个跟 jsp 文件有关 ,添加 servlet-api --> <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <!-- provided:表示不要打包到 war 的 lib 包中 --> <scope>provided</scope> </dependency> <!-- 这个跟 jetty 有关 --> <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId>jsp-2.1</artifactId> <version>6.1.14</version> </dependency> </dependencies>