Maven的日常
- 强烈建议把 Maven 的 settings.xml 文件同时放在:
%USER_HOME%/.m2/settings.xml和${maven.home}/conf/settings.xml两个地方。避免使用终端的时候默认去调用用户目录下的。
【idea侧边栏上Maven的Profile怎么用的】
http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/maven-skill-introduce.html
更多 只使用阿里云仓库的setting.xml配置、使用nexus私有仓库+阿里云仓库的settings.xml配置。(自己日常是用阿里云镜像。)
【profile】为了解决不同环境所需的不同变量、配置等问题。
- profile 一般可以在三个地方:settings.xml(仓库),pom.xml(dev和prod),profiles.xml(这个不常用)
在 settings.xml 上,一般大家用来做仓库的选择,设置全局的 profile,一个是 nexus 仓库,一个是 aliyun 仓库,默认激活的是 nexus 仓库。(activeProfiles)
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository>D:\maven\my_local_repository</localRepository> <pluginGroups> </pluginGroups> <proxies> </proxies> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <url>http://192.168.1.73:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>nexus</id> <url>http://192.168.1.73:8081/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> <profile> <id>aliyun</id> <repositories> <repository> <id>aliyun</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>aliyun</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> <activeProfiles> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>
在 pom.xml 中,一般用来激活环境配置(打包的时候,默认是 dev 模式,打包 src/main/env/dev 下的配置文件,如果选择 product 则打包 src/main/env/product 下的配置文件)
<profiles> <profile> <id>dev</id> <properties> <package.environment>dev</package.environment> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/env/${package.environment}</directory> <includes> <include>**/*</include> </includes> <filtering>true</filtering> </resource> </resources> <finalName>${project.artifactId}</finalName> </build> </profile> <profile> <id>product</id> <properties> <package.environment>product</package.environment> </properties> <activation> <activeByDefault>false</activeByDefault> </activation> <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/env/${package.environment}</directory> <includes> <include>**/*</include> </includes> <filtering>true</filtering> </resource> </resources> <finalName>${project.artifactId}</finalName> </build> </profile> </profiles>

浙公网安备 33010602011771号