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>