maven常用配置

1. 指定源代码目录和资源目录

maven默认的源代码和资源目录只有src/main/java, src/main/resources, src/test/java, src/test/resources,若不进行设置,则当代码和资源不在这些目录下时编译和打包将不会包含这些内容。

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

这样指定后,src目录下的资源文件将和编译后的class文件都被拷贝到target的classes目录下进行打包

2. 指定发布仓库

<distributionManagement>
    <!-- 两个ID必须与 setting.xml中的<server><id>nexus-releases</id></server>保持一致 -->
    <repository>
        <id>nexus-releases</id>
        <name>Nexus Release Repository</name>
        <url>http://10.10.0.20:8081/nexus/content/repositories/chinaso</url>
    </repository>
    <snapshotRepository>
        <id>nexus-snapshots</id>
        <name>Nexus Snapshot Repository</name>
        <url>http://10.10.0.20:8081/nexus/content/repositories/snapshots</url>
    </snapshotRepository>
</distributionManagement>

这样配置后通过mvn deploy命令,项目的包将会发布到指定的仓目录中

3. 将所有依赖打包

<build>
    <plugins>
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.chinaso.platform.zkwatcher.Main</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
    </plugins>
</build>

以上配置出mainClass可修改外,其他的内容不要修改。 该配置将会把所有需要依赖的class打包到一个jar保重,通过mvn assembly:assembly命令打包后形成jar包将可以独立运行。

4. 设置属性

如某个项目所需要包的版本后都一致,则可以通过设置属性来实现方便地修改需要的版本号

<properties>
    <org.springframework.version>3.0.6.RELEASE</org.springframework.version>
</properties>

这样配置后,后续需要的jar包版本号则可以这样指定:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${org.springframework.version}</version>
</dependency>
posted @ 2014-10-11 13:01  明明妮  阅读(197)  评论(0编辑  收藏  举报