Maven笔记

来源:互联网 发布:移动adhoc网络的特点 编辑:程序博客网 时间:2024/06/07 03:53

    • Maven结构
    • pomxml
    • 几个maven命令
    • 插件
    • 配置文件
    • SSH pomxml

Maven结构

my-app|-- pom.xml`-- src    |-- main    |   `-- java    |       `-- com    |           `-- mycompany    |               `-- app    |                   `-- App.java    `-- test        `-- java            `-- com                `-- mycompany                    `-- app                        `-- AppTest.java

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/maven-v4_0_0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>org.zbq.mvn</groupId>    <artifactId>mvn01</artifactId>    <version>0.0.1-SNAPSHOT</version>    <!-- <packaging>jar</packaging> -->    <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.10</version>        </dependency>    </dependencies></project>

几个maven命令

mvn compile     #编译java文件 生成target/classes,并生成class文件mvn test             #测试mvn package    #打jar包mvn clean         #清除target下内容mvn install         #安装到本地的repository中mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"      #执行main 函数mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"

生成普通项目

mvn archetype:generate \    -DgroupId=org.zbq \    -DartifactId=demo \    -DarchetypeArtifactId=maven-archetype-quickstart \    -DinteractiveMode=false

生成web项目

mvn archetype:generate \    -DgroupId=org.zbq \    -DartifactId=demo \    -DarchetypeArtifactId=maven-archetype-webapp \    -DinteractiveMode=fals

插件

下面是插件, 1个是可执行打包, 另一个是选择编译的版本

<build>    <finalName>validation</finalName>    <plugins>        <plugin>            <artifactId>maven-assembly-plugin</artifactId>            <configuration>                <appendAssemblyId>false</appendAssemblyId>                <descriptorRefs>                    <descriptorRef>jar-with-dependencies</descriptorRef>                </descriptorRefs>                <archive>                    <manifest>                          <mainClass>org.zbq.main.Main</mainClass>                    </manifest>                </archive>            </configuration>            <executions>                <execution>                    <id>make-assembly</id>                    <phase>package</phase>                    <goals>                        <goal>assembly</goal>                    </goals>                </execution>            </executions>        </plugin>        <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-compiler-plugin</artifactId>                <inherited>true</inherited>                <version>2.3.1</version>                <configuration>                    <source>1.8</source>                    <target>1.8</target>                    <debug>true</debug>                </configuration>            </plugin>    </plugins></build>

这个是跳过test的插件

<plugin>    <groupId>org.apache.maven.plugins</groupId>    <artifactId>maven-surefire-plugin</artifactId>    <configuration>        <skip>true</skip>    </configuration></plugin>

配置文件

conf/settings.xml

    <!-- 下载的jar包存放路径 -->    <localRepository>D:/Program/Program/apache-maven-3.0.5/repos</localRepository>  <profiles><!-- 默认以 jdk1.8 -->      <profile>            <id>jdk-1.8</id>            <activation>                <activeByDefault>true</activeByDefault>                <jdk>1.8</jdk>            </activation>            <properties>                  <maven.compiler.source>1.8</maven.compiler.source>                  <maven.compiler.target>1.8</maven.compiler.target>                  <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>              </properties>            <repositories>                <repository>                    <id>nexus</id>                    <name>local private nexus</name>                    <url>http://repo2.maven.org/maven2/</url>                    <releases>                        <enabled>true</enabled>                    </releases>                    <snapshots>                        <enabled>false</enabled>                    </snapshots>                </repository>            </repositories>            <pluginRepositories>                <pluginRepository>                    <id>nexus</id>                    <name>local private nexus</name>                    <url>http://repo2.maven.org/maven2/</url>                    <releases>                        <enabled>true</enabled>                    </releases>                    <snapshots>                        <enabled>false</enabled>                    </snapshots>                </pluginRepository>            </pluginRepositories>        </profile>  <profiles>

阿里云maven镜像

<mirrors>    <mirror>        <id>alimaven</id>        <name>aliyun maven</name>        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>        <mirrorOf>central</mirrorOf>    </mirror></mirrors>

Maven远程库: http://mvnrepository.com/

SSH 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>    <groupId>com.intel.media</groupId>    <artifactId>myTMS</artifactId>    <packaging>war</packaging>    <version>0.0.1-SNAPSHOT</version>    <name>myTMS Maven Webapp</name>    <url>http://maven.apache.org</url>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>        <spring.group>org.springframework</spring.group>        <spring.version>3.2.0.RELEASE</spring.version>        <spring.security.group>org.springframework.security</spring.security.group>        <struts.group>org.apache.struts</struts.group>        <struts.version>2.3.16.1</struts.version>        <hibernate.group>org.hibernate</hibernate.group>        <hibernate.version>3.6.10.Final</hibernate.version>    </properties>    <build>        <finalName>myTMS</finalName>        <pluginManagement>            <plugins>                <!-- skip unit testing -->                <plugin>                    <groupId>org.apache.maven.plugins</groupId>                    <artifactId>maven-surefire-plugin</artifactId>                    <configuration>                        <skip>true</skip>                    </configuration>                </plugin>                <plugin>                    <groupId>org.apache.tomcat.maven</groupId>                    <artifactId>tomcat6-maven-plugin</artifactId>                    <version>2.2</version>                    <configuration>                        <url>http://localhost:8080/manager/html</url>                        <server>tomcat</server>                    </configuration>                </plugin>                <plugin>                    <groupId>org.apache.tomcat.maven</groupId>                    <artifactId>tomcat7-maven-plugin</artifactId>                    <version>2.2</version>                    <configuration>                        <url>http://localhost:8080/manager/html</url>                        <server>tomcat</server>                    </configuration>                </plugin>                <plugin>                    <groupId>org.mortbay.jetty</groupId>                    <artifactId>maven-jetty-plugin</artifactId>                    <configuration>                        <webApp>${basedir}/target/myTMS.war</webApp>                    </configuration>                </plugin>                <plugin>                    <groupId>org.apache.maven.plugins</groupId>                    <artifactId>maven-compiler-plugin</artifactId>                    <inherited>true</inherited>                    <version>2.3.1</version>                    <configuration>                        <source>1.7</source>                        <target>1.7</target>                        <debug>true</debug>                    </configuration>                </plugin>            </plugins>        </pluginManagement>    </build>    <dependencies>        <dependency>            <groupId>mysql</groupId>            <artifactId>mysql-connector-java</artifactId>            <version>5.1.33</version>            <scope>runtime</scope>        </dependency>        <dependency>            <groupId>p6spy</groupId>            <artifactId>p6spy</artifactId>            <version>2.1.2</version>        </dependency>        <dependency>            <groupId>net.sourceforge.jexcelapi</groupId>            <artifactId>jxl</artifactId>            <version>2.6.12</version>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>            <version>1.2.17</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>            <version>1.7.5</version>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-nop</artifactId>            <version>1.7.7</version>        </dependency>        <dependency>            <groupId>commons-dbcp</groupId>            <artifactId>commons-dbcp</artifactId>            <version>1.4</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjrt</artifactId>            <version>1.8.2</version>        </dependency>        <dependency>            <groupId>org.aspectj</groupId>            <artifactId>aspectjtools</artifactId>            <version>1.8.2</version>        </dependency>        <dependency>            <groupId>javax.servlet</groupId>            <artifactId>javax.servlet-api</artifactId>            <version>3.1.0</version>            <scope>provided</scope>        </dependency>        <dependency>            <groupId>javax.servlet.jsp</groupId>            <artifactId>jsp-api</artifactId>            <version>2.2.1-b03</version>            <scope>provided</scope>        </dependency>        <!-- struts2 dependence -->        <dependency>            <groupId>${struts.group}</groupId>            <artifactId>struts2-core</artifactId>            <version>${struts.version}</version>        </dependency>        <dependency>            <groupId>${struts.group}</groupId>            <artifactId>struts2-spring-plugin</artifactId>            <version>${struts.version}</version>        </dependency>        <dependency>            <groupId>${struts.group}</groupId>            <artifactId>struts2-json-plugin</artifactId>            <version>${struts.version}</version>        </dependency>        <dependency>            <groupId>${struts.group}</groupId>            <artifactId>struts2-junit-plugin</artifactId>            <version>${struts.version}</version>            <scope>test</scope>        </dependency>        <!-- hibernate dependence -->        <dependency>            <groupId>${hibernate.group}</groupId>            <artifactId>hibernate-core</artifactId>            <version>${hibernate.version}</version>        </dependency>        <!-- spring dependence -->        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-core</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-context</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-beans</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-web</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-test</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-orm</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-tx</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.group}</groupId>            <artifactId>spring-aop</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.security.group}</groupId>            <artifactId>spring-security-web</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>${spring.security.group}</groupId>            <artifactId>spring-security-config</artifactId>            <version>${spring.version}</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.11</version>            <scope>test</scope>        </dependency>    </dependencies></project>
原创粉丝点击