部署在 Nexus 上的自定义 Maven 插件不能用于本地机器上的项目,除非插件安装在本地 repo 上或设置为依赖项
Custom Maven plugin deployed on Nexus can't be used on a project on local machine unless the plugin is installed on local repo or set as a dependency
我开发了一个自定义 Maven 插件并将其部署 (mvn deploy) 到远程 Nexus 存储库。 jar 已使用如下 pom 正确上传:
<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
jar 包含必要的 plugin.xml 文件,因此看起来不错。
我已经配置了一个项目来使用插件:
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
...
但是当我 运行 mvn xxx:mygoal
它显示这个错误:
[ERROR] No plugin found for prefix 'xxx' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/myuser/.m2/repository), remote-repo (http://someremoterepo/nexus/content/groups/central/)] -> [Help 1]
唯一让它工作的方法是将插件作为插件和依赖项添加到项目中:
...
<dependency>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
...
现在它确实找到了插件并正确执行了它。我究竟做错了什么?我想应该没有必要将它同时定义为插件和依赖项,其他第三方插件没有这个要求。
更新:
我已将其添加到我的 settings.xml 文件中:
<pluginGroup>something</pluginGroup>
</pluginGroups>
现在错误不同了:
[WARNING] The POM for something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for something:xxx-maven-plugin:1.0.0-SNAPSHOT: Plugin something:xxx-maven-plugin:1.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT
[WARNING] The POM for something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT is missing, no dependency information available
...
[ERROR] Plugin something:xxx-maven-plugin:1.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT -> [Help 1]
它实际上在回购协议中。同样,如果我明确地将其添加为依赖项,它确实有效。 ???
更新 2:
我使用 Nexus GAV 搜索界面寻找带有 artifactId spring-boot-maven-plugin 并打包 maven-plugin 的插件,它找到了。使用包装罐它也能找到它。
然后我对我的插件做同样的事情,在寻找包装 maven-plugin 时它找到了它,但在使用包装 jar 时却没有。
更新 3:
在我的本地仓库中有一个 maven-metadata-central-mirror.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<plugins>
<plugin>
<name>something</name>
<prefix>xxx</prefix>
<artifactId>xxx-maven-plugin</artifactId>
</plugin>
</plugins>
</metadata>
完整配置
本地settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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>/Users/myuser/.m2/repository</localRepository>
<pluginGroups>
<pluginGroup>something</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>someremoterepo</id>
<username>xxxx</username>
<password>yyyy</password>
</server>
</servers>
<mirrors>
<mirror>
<id>someremoterepo</id>
<name>Nexus Repo</name>
<url>http://someremoterepo/nexus/content/groups/central/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>myprofile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</repository>
</repositories>
</profile>
</profiles>
</settings>
自定义插件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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>xxx-maven-plugin</name>
<description>xxx</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.2.21</kotlin.version>
<junit5.version>5.0.3</junit5.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.5.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.5.10.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.sbrannen</groupId>
<artifactId>spring-test-junit5</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<id>jacoco-initialize</id>
<phase>initialize</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
</args>
<compilerPlugins>
<plugin>spring</plugin>
</compilerPlugins>
<jvmTarget>1.8</jvmTarget>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>someremoterepo-releases</id>
<name>releases</name>
<url>http://someremoterepo/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>someremoterepo-snapshots</id>
<name>snapshots</name>
<url>http://someremoterepo/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
包含插件的项目:
唯一相关的位是:
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>agroup</groupId>
<artifactId>some-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
...
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
...
经过一番努力,我终于解决了这个问题,解决方案是在 settings.xml
文件中定义 pluginRepositories
。现在它可以正确解析插件,而无需将其添加为项目 pom 中的依赖项:
<?xml version="1.0" encoding="UTF-8"?>
<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>/Users/myuser/.m2/repository</localRepository>
<pluginGroups>
<pluginGroup>something</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>someremoterepo</id>
<username>xxxx</username>
<password>yyyy</password>
</server>
</servers>
<mirrors>
<mirror>
<id>someremoterepo</id>
<name>Nexus Repo</name>
<url>http://someremoterepo/nexus/content/groups/central/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>myprofile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>
我开发了一个自定义 Maven 插件并将其部署 (mvn deploy) 到远程 Nexus 存储库。 jar 已使用如下 pom 正确上传:
<?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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
jar 包含必要的 plugin.xml 文件,因此看起来不错。
我已经配置了一个项目来使用插件:
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
...
但是当我 运行 mvn xxx:mygoal
它显示这个错误:
[ERROR] No plugin found for prefix 'xxx' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/Users/myuser/.m2/repository), remote-repo (http://someremoterepo/nexus/content/groups/central/)] -> [Help 1]
唯一让它工作的方法是将插件作为插件和依赖项添加到项目中:
...
<dependency>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
</dependencies>
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
...
现在它确实找到了插件并正确执行了它。我究竟做错了什么?我想应该没有必要将它同时定义为插件和依赖项,其他第三方插件没有这个要求。
更新:
我已将其添加到我的 settings.xml 文件中:
<pluginGroup>something</pluginGroup>
</pluginGroups>
现在错误不同了:
[WARNING] The POM for something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT is missing, no dependency information available
[WARNING] Failed to retrieve plugin descriptor for something:xxx-maven-plugin:1.0.0-SNAPSHOT: Plugin something:xxx-maven-plugin:1.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT
[WARNING] The POM for something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT is missing, no dependency information available
...
[ERROR] Plugin something:xxx-maven-plugin:1.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact something:xxx-maven-plugin:jar:1.0.0-SNAPSHOT -> [Help 1]
它实际上在回购协议中。同样,如果我明确地将其添加为依赖项,它确实有效。 ???
更新 2:
我使用 Nexus GAV 搜索界面寻找带有 artifactId spring-boot-maven-plugin 并打包 maven-plugin 的插件,它找到了。使用包装罐它也能找到它。
然后我对我的插件做同样的事情,在寻找包装 maven-plugin 时它找到了它,但在使用包装 jar 时却没有。
更新 3:
在我的本地仓库中有一个 maven-metadata-central-mirror.xml 文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<plugins>
<plugin>
<name>something</name>
<prefix>xxx</prefix>
<artifactId>xxx-maven-plugin</artifactId>
</plugin>
</plugins>
</metadata>
完整配置
本地settings.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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>/Users/myuser/.m2/repository</localRepository>
<pluginGroups>
<pluginGroup>something</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>someremoterepo</id>
<username>xxxx</username>
<password>yyyy</password>
</server>
</servers>
<mirrors>
<mirror>
<id>someremoterepo</id>
<name>Nexus Repo</name>
<url>http://someremoterepo/nexus/content/groups/central/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>myprofile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</repository>
</repositories>
</profile>
</profiles>
</settings>
自定义插件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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>maven-plugin</packaging>
<name>xxx-maven-plugin</name>
<description>xxx</description>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<kotlin.version>1.2.21</kotlin.version>
<junit5.version>5.0.3</junit5.version>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.3.9</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.5.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-reflect</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>${junit5.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>1.5.10.RELEASE</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.sbrannen</groupId>
<artifactId>spring-test-junit5</artifactId>
<version>1.0.2</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.8.0</version>
<executions>
<execution>
<id>jacoco-initialize</id>
<phase>initialize</phase>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<configuration>
<args>
<arg>-Xjsr305=strict</arg>
</args>
<compilerPlugins>
<plugin>spring</plugin>
</compilerPlugins>
<jvmTarget>1.8</jvmTarget>
</configuration>
<executions>
<execution>
<id>compile</id>
<phase>compile</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>test-compile</id>
<phase>test-compile</phase>
<goals>
<goal>test-compile</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-maven-allopen</artifactId>
<version>${kotlin.version}</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<distributionManagement>
<repository>
<id>someremoterepo-releases</id>
<name>releases</name>
<url>http://someremoterepo/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>someremoterepo-snapshots</id>
<name>snapshots</name>
<url>http://someremoterepo/nexus/content/repositories/snapshots/</url>
</snapshotRepository>
</distributionManagement>
</project>
包含插件的项目:
唯一相关的位是:
<?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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>agroup</groupId>
<artifactId>some-project</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.10.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
...
<plugins>
<plugin>
<groupId>something</groupId>
<artifactId>xxx-maven-plugin</artifactId>
<version>1.0.0-SNAPSHOT</version>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
...
经过一番努力,我终于解决了这个问题,解决方案是在 settings.xml
文件中定义 pluginRepositories
。现在它可以正确解析插件,而无需将其添加为项目 pom 中的依赖项:
<?xml version="1.0" encoding="UTF-8"?>
<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>/Users/myuser/.m2/repository</localRepository>
<pluginGroups>
<pluginGroup>something</pluginGroup>
</pluginGroups>
<proxies>
</proxies>
<servers>
<server>
<id>someremoterepo</id>
<username>xxxx</username>
<password>yyyy</password>
</server>
</servers>
<mirrors>
<mirror>
<id>someremoterepo</id>
<name>Nexus Repo</name>
<url>http://someremoterepo/nexus/content/groups/central/</url>
<mirrorOf>*</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>myprofile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Central</name>
<releases>
<enabled>true</enabled>
<checksumPolicy>warn</checksumPolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
<url>http://someremoterepo/nexus/content/groups/central</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
</settings>