Maven 在java中,如何从一个独立的repo中只获取多个依赖项中的少数依赖项?

Maven 在java中,如何从一个独立的repo中只获取多个依赖项中的少数依赖项?,maven,pom.xml,cloudera,Maven,Pom.xml,Cloudera,我有以下pom.xml文件 <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>

我有以下pom.xml文件

    <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>ActionDataInterpret</groupId>
  <artifactId>ActionDataInterpret</artifactId>
  <version>1.0-SNAPSHOT</version>

  <properties>
    <jdkLevel>1.6</jdkLevel>
    <requiredMavenVersion>[2.1,)</requiredMavenVersion>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.build.outputEncoding>UTF-8</project.build.outputEncoding>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.1</version>
        <configuration>
          <source>${jdkLevel}</source>
          <target>${jdkLevel}</target>
          <showDeprecation>true</showDeprecation>
          <showWarnings>true</showWarnings>
        </configuration>
      </plugin>
      <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <artifactSet>
                                <excludes>
                                    <!--<exclude>storm:*</exclude> -->
                                </excludes>
                            </artifactSet>
                            <transformers>
                                <transformer
                                    implementation="org.apache.maven.plugins.shade.resource.ComponentsXmlResourceTransformer" />
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    </plugins>


  <sourceDirectory>/home/user/workspace/ActionDataInterpret</sourceDirectory>
</build>
  <dependencies>
    <dependency>
      <groupId>com.googlecode.json-simple</groupId>
      <artifactId>json-simple</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hbase</groupId>
      <artifactId>hbase</artifactId>
      <version>0.94.9</version>
    </dependency>
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-core</artifactId>
      <version>1.0.4</version>
    </dependency>
    <dependency>
    <groupId>org.eclipse.jdt</groupId>
    <artifactId>core</artifactId>
    <version>3.1.1</version>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
      <artifactId>guava</artifactId>
      <version>11.0.2</version>
    </dependency>
    <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.4.5</version>
    </dependency>
    <dependency>
      <groupId>commons-lang</groupId>
      <artifactId>commons-lang</artifactId>
      <version>2.5</version>
    </dependency>
     <dependency>
      <groupId>commons-logging</groupId>
      <artifactId>commons-logging</artifactId>
      <version>1.1.1</version>
    </dependency>
    <dependency>
      <groupId>commons-configuration</groupId>
      <artifactId>commons-configuration</artifactId>
      <version>1.6</version>
    </dependency>
    <dependency>
      <groupId>com.google.protobuf</groupId>
      <artifactId>protobuf-java</artifactId>
      <version>2.5.0</version>
    </dependency>
    <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.8.8</version>
        </dependency>
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
        <dependency>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-api</artifactId>
                        <version>1.5.6</version>
                </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-exec</artifactId>
            <version>1.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.1.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.1.3</version>
        </dependency>
        <dependency>
            <groupId>commons-httpclient</groupId>
            <artifactId>commons-httpclient</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>org.yaml</groupId>
            <artifactId>snakeyaml</artifactId>
            <version>1.9</version>
            <scope>runtime</scope>
        </dependency>
  </dependencies>

</project>

4.0.0
动作数据解释
动作数据解释
1.0-快照
1.6
[2.1,)
UTF-8
UTF-8
org.apache.maven.plugins
maven编译器插件
2.3.1
${jdkLevel}
${jdkLevel}
真的
真的
org.apache.maven.plugins
maven阴影插件
1.3
包裹
阴凉处
/主页/用户/工作区/操作数据解释
com.googlecode.json-simple
简单json
1.1.1
org.apache.hbase
数据库
0.94.9
org.apache.hadoop
hadoop内核
1.0.4
org.eclipse.jdt
核心
3.1.1
番石榴
番石榴
11.0.2
org.apache.zookeeper
动物园管理员
3.4.5
公地郎
公地郎
2.5
公用记录
公用记录
1.1.1
共用配置
共用配置
1.6
com.google.protobuf
protobuf java
2.5.0
org.codehaus.jackson
杰克逊地图绘制者
1.8.8
乔达时间
乔达时间
2.1
log4j
log4j
1.2.16
org.slf4j
slf4j api
1.5.6
org.slf4j
slf4j-log4j12
1.5.6
公地io
公地io
2.1
org.apache.commons
下议院行政长官
1.1
运行时
org.apache.httpcomponents
httpclient
4.1.3
org.apache.httpcomponents
httpcore
4.1.3
commons httpclient
commons httpclient
3.1
org.yaml
毒蛇
1.9
运行时
但是,我只希望从cloudera回购中获取hadoop和hbase,而不是从默认的maven回购中获取


我该怎么做呢?

我认为对于您可以配置的存储库,它将首先尝试从您提到的存储库url下载工件,如果不可用,则尝试从Maven Central Repo下载

在pom.xml中添加项目下的存储库

 <repositories>
   <repository>
   <id>cloudera</id>
   <url>Your Cloudera Specific Location</url>
  </repository>
</repositories>

克劳德拉
您的Cloudera特定位置
有关更多信息,请参考maven规范


试试这个。

你不想从Maven Central Repo获取工件的具体原因是什么?我正在Cloudera集群上运行应用程序。所以我想从Cloudera Repo获取JAR。。