另有其他博主的文章:http://blog.csdn.net/dhmpgt/article/details/9998321
所需软件地址:链接: https://pan.baidu.com/s/1bV2XAm 密码: q7pg
管理工程jar包的工具,会根据配置文件自动的从服务器库中下载对应的jar包到工程中。
1) 将repository解压出来到D:/maven/repositoryserver 作为maven本地服务器库文件夹
2) 创建maven本地库的文件夹D:/maven/repositoryclient
3) 解压nexus压缩包到D:/maven/nexus
a) 进入到:D:\maven\nexus\nexus-2.14.2-01\bin\jsw\windows-x86-64 启动注册服务install-nexus.bat 服务名称:nexus
b) 管理员运行:start-nexus.bat 启动服务
c) 打开页面验证:localhost:8081/nexus 用户名:密码:admin:admin123
4) 进入到:D:\maven\apache-maven-3.1.1\conf文件夹。配置settings.xml
a) 设置本地库的路径:<localRepository>D:\maven\repositoryclient</localRepository>
b) 设置远程库的路径:
<mirror>
<id>mirrorId</id>
<mirrorOf>*</mirrorOf>[D1]
<name>Human Readable Name for thisMirror.</name>
<url>http://192.168.10.228:8081/nexus/content/groups/public/</url>
</mirror>
其中的url来源是如下图:
Maven网页上需要设置:
设置本地库3rd part的本地库路径
调整maven搜索jar包的顺序:
需要重建索引,来关联本地库
可以添加自己需要的远程库的地址
可以参考的库的地址:http://central.maven.org/maven2/
cloudera的库: https://repository.cloudera.com/content/repositories/releases/
之后需要配置库加载的顺序:本地库在前,远程库在后
3rd party 这个设置本地库所在的位置(本读库和本地私服的库我还没分清,不过不太影响使用)
保存好之后测试:
表示maven已经可以正常使用
Windows->perferences->maven
installations之后add 添加maven客户端文件夹的位置
添加maven的配置文件
点击完成即可
从maven网页中搜索需要导入的jar包,在复制对应的属性参数到maven的配置文件中:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
<version>2.10.5</version>
</dependency>
Ctrl+s保存之后,就会自动的下载jar包了
[D1]这个配置为* 不太清楚原因
配置idea中maven项目
创建项目为maven项目,直接下一步
之后再file -setting中修改maven库的路径:
之后就配置pom.xml的配置文件,使maven自动下载依赖的jar包 参考如下:
可在maven网页中找到对一个的依赖的配置信息,直接添加到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>com.deppon.www</groupId> <artifactId>TechnicalPreview</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <encoding>UTF-8</encoding> <scala.version>2.10.5</scala.version> <spark.version>1.6.0</spark.version> <hadoop.version>2.6.4</hadoop.version> <hbase.version>1.2.0-cdh5.7.0</hbase.version> </properties> <dependencies> <!--Spark依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_2.10</artifactId> <version>${spark.version}</version> </dependency> <!--hadoop依赖--> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> </dependency> <!--添加Hbase依赖--> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.2.0-cdh5.7.0</version> <!--<version>0.99.2</version>--> <!--<version>0.98.24-hadoop2</version>--> </dependency> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-server</artifactId> <version>1.2.0-cdh5.7.0</version> <!--<version>0.99.2</version>--> <!--<version>0.98.24-hadoop2</version>--> </dependency> <!--添加Kafka依赖--> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka_2.10</artifactId> <version>0.9.0.0</version> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.9.0.0</version> </dependency> <!--Scala依赖--> <dependency> <groupId>org.scala-lang</groupId> <artifactId>scala-library</artifactId> <version>${scala.version}</version> </dependency> <!--添加spark-streaming依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming_2.10</artifactId> <!--<version>1.6.1</version>--> <version>1.6.0</version> </dependency> <!--添加sparkStreaming与kafka整合的依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-streaming-kafka_2.10</artifactId> <!-- <version>1.6.1</version>--> <version>1.6.0</version> </dependency> <!--zookeeper依赖--> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.5-cdh5.7.0</version> </dependency> <!--导入Oracle JDBC依赖--> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.1.0</version> </dependency> <!--导入解析json的依赖--> <dependency> <groupId>net.minidev</groupId> <artifactId>json-smart</artifactId> <version>1.1.1</version> </dependency> <!--导入spark-sql依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.10</artifactId> <version>1.6.0</version> <!--<version>1.5.2</version>--> </dependency> <!--导入hive spark依赖--> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-hive_2.10</artifactId> <version>1.6.0-cdh5.7.0</version> </dependency> </dependencies> <build> <sourceDirectory>src/main/scala</sourceDirectory> <testSourceDirectory>src/test/scala</testSourceDirectory> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven-plugin</artifactId> <version>3.2.2</version> <executions> <execution> <goals> <goal>compile</goal> <goal>testCompile</goal> </goals> <configuration> <args> <!--<arg>-make:transitive</arg>--> <arg>-dependencyfile</arg> <arg>${project.build.directory}/.scala_dependencies</arg> </args> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.3</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> </configuration> </execution> </executions> </plugin> </plugins> </build> </project>如果不希望添加到maven文件中依赖库的地址,可以单独的把库依赖添加到pom文件中
<repositories> <!-- 指定该项目可以从哪些地方下载依赖包 --> <repository> <id>aliyun</id> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </repository> <repository> <id>cloudera</id> <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> </repository> <repository> <id>jboss</id> <url>http://repository.jboss.org/nexus/content/groups/public</url> </repository> <repository> <id>spark</id> <url>http://central.maven.org/maven2/</url> </repository> </repositories>