开发者社区 问答 正文

配置了osc的mirror,为什么我pom.xml再指定PrimeFaces的R?报错

配置了osc的mirror,为什么我pom.xml再指定PrimeFaces的Repository 不起作用呢?

当maven下载PrimeFaces的all-themes.jar 的时候,maven只会检查osc的nexus是否有这个jar。如果没有就直接报错了,而不会优先检查pom文件中的repository。

下面是我的maven  setting.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">
  

  <pluginGroups>
   
  </pluginGroups>

 
  <proxies>
  
  </proxies>

  
  <servers>
   
  </servers>

 
  <mirrors>
     <mirror>
        <id>nexus-osc</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus osc</name>
        <url>http://maven.oschina.net/content/groups/public/</url>
    </mirror>
  </mirrors>
  <profiles>
    <profile>
      <id>jboss-public-repository</id>
      <repositories>
        <repository>
          <id>jboss-public-repository-group</id>
          <name>JBoss Public Maven Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </repository>

      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>jboss-public-repository-group</id>
          <name>JBoss Public Maven Repository Group</name>
          <url>https://repository.jboss.org/nexus/content/groups/public/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>

    <profile>
      <id>jboss-staging-repository</id>
      <repositories>

        <repository>
          <id>jboss-staging-repository</id>
          <name>JBoss Staging Maven Repository</name>
          <url>https://repository.jboss.org/nexus/content/groups/staging/</url>
          <layout>default</layout>
          <releases>
            <enabled>true</enabled>
            <updatePolicy>never</updatePolicy>
          </releases>
          <snapshots>
            <enabled>false</enabled>
            <updatePolicy>never</updatePolicy>
          </snapshots>
        </repository>
      </repositories>
    </profile>
    <profile>
              <id>jdk-1.4</id>
            
              <activation>
                <jdk>1.4</jdk>
              </activation>
            
              <repositories>
                <repository>
                  <id>prime-repo</id>
                  <name>PrimeFaces Maven Repository</name>
                  <url>http://repository.primefaces.org</url>
                  <layout>default</layout>
                </repository>
                <repository>
                  <id>nexus</id>
                  <name>local private nexus</name>
                  <url>http://maven.oschina.net/content/groups/public/</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://maven.oschina.net/content/groups/public/</url>
                  <releases>
                    <enabled>true</enabled>
                  </releases>
                  <snapshots>
                    <enabled>false</enabled>
                  </snapshots>
                </pluginRepository>
              </pluginRepositories>
            </profile>


                                                       
     <profile>
         <id>sonar</id>
         <properties>
             <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonar</sonar.jdbc.url >
             <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver >
             <sonar.jdbc.username>root</sonar.jdbc.username >
             <sonar.jdbc.password>11111</sonar.jdbc.password >
             <sonar.host.url>http://localhost:9000</sonar.host.url > <!-- Sonar服务器访问地址 -->
         </properties>
     </profile >
    
  </profiles>

  <activeProfiles>
    <activeProfile>jboss-public-repository</activeProfile>
    <activeProfile>sonar</activeProfile>
  <!--  <activeProfile>jboss-staging-repository</activeProfile> -->
  </activeProfiles>
</settings>



我工程的pom文件: http://git.oschina.net/for-1988/deltaspike-demo/blob/master/deltaspike-demo/pom.xml  

希望大家帮我看一下,是什么原因呢?

展开
收起
爱吃鱼的程序员 2020-06-22 13:22:42 535 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    @hantsy请求帮助~~这是大香蕉的大号?大号一般指上厕所大便,小号指上厕所小便

    恩,这个就是传说中的@小香蕉 他爹

    @小香蕉

    两种方法:

    1.settings.xml添加jdk-1.4profile到 <activeProfiles>中。

    2.项目中的pluginRepositories是用来查找mavenPlugin的,不是查找dependencies.

    <pluginRepositories><pluginRepository><id>prime-repo</id><name>PrimeFacesMavenRepository</name><url>http://repository.primefaces.org</url><releases><enabled>false</enabled></releases></pluginRepository></pluginRepositories>
    改成



    <repositories><repository><id>prime-repo</id><name>PrimeFacesMavenRepository</name><url>http://repository.primefaces.org</url></repository></repositories>



    刚试了一下,还是这样pluginRepositories是我后来见不起作用,然后就改了下尝试的。忘改回去了,我加一下activeProfiles试试

    引用来自“hantsy”的答案

    两种方法:

    1.settings.xml添加jdk-1.4profile到 <activeProfiles>中。

    2.项目中的pluginRepositories是用来查找mavenPlugin的,不是查找dependencies.

    <pluginRepositories><pluginRepository><id>prime-repo</id><name>PrimeFacesMavenRepository</name><url>http://repository.primefaces.org</url><releases><enabled>false</enabled></releases></pluginRepository></pluginRepositories>
    改成



    <repositories><repository><id>prime-repo</id><name>PrimeFacesMavenRepository</name><url>http://repository.primefaces.org</url></repository></repositories>



    加参数-U

    我把你的项目down下来用mvncompile跑了一下,可以成功,不知道你要执行哪个命令?

    --因为我上传的代码中注释掉了all-theme那个jar的依赖运行的命令是mvncleanpackage你还是先看看Sonatype官方网站那几本免费的Maven书吧。
    测试一下 是因为 <mirrorOf>*</mirrorOf>吧,这个设置会把所有的请求都镜像到你配置的oschina上面去吧
    2020-06-22 13:22:58
    赞同 展开评论