在学习scala语言的过程中,需要使用idea编译器创建一个maven项目来实现其中的一个akka框架,但是遇到了问题,我花了好久好久…才解决,这里谢谢一位热心的小哥给我帮助。
1.idea的初始化配置
idea安装就一直下一步即可,在选择安装路径的时候,可以放到自己的默认路径
下面是我安装之后的初始化配置:
设置背景
取消自动打开idea关闭前的文件
设置字体大小
下载需要的文件,如:scala
配置maven
设置全局配置
导入本地的JDK包
设置代码缩进格式
2.创建maven项目的步骤
需要往pom.xml文件中写入的内容是(注意这个内容是针对akka项目,要是需要有其他不同的项目需要写入其他不同的内容,然后idea就会自动下载所涉及的包):
<!-- 定义一下常量 -->
<properties>
<encoding>UTF-8</encoding>
<scala.version>2.11.8</scala.version>
<scala.compat.version>2.11</scala.compat.version>
<akka.version>2.4.17</akka.version>
</properties>
<dependencies>
<!-- 添加scala的依赖 -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
<!-- 添加akka的actor依赖 -->
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-actor_${scala.compat.version}</artifactId>
<version>${akka.version}</version>
</dependency>
<!-- 多进程之间的Actor通信 -->
<dependency>
<groupId>com.typesafe.akka</groupId>
<artifactId>akka-remote_${scala.compat.version}</artifactId>
<version>${akka.version}</version>
</dependency>
</dependencies>
<!-- 指定插件-->
<build>
<!-- 指定源码包和测试包的位置 -->
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
<plugins>
<!-- 指定编译scala的插件 -->
<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>-dependencyfile</arg>
<arg>${project.build.directory}/.scala_dependencies</arg>
</args>
</configuration>
</execution>
</executions>
</plugin>
<!-- maven打包的插件 -->
<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>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>reference.conf</resource>
</transformer>
<!-- 指定main方法 -->
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>cn.sheep.robot.ClientActor</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后需要创建下面两个文件夹:(下载过程会很慢)
创建上面第一个文件夹的过程如下:
创建第二个文件夹如下:
2.遇到的问题如下:
最终经过查询,是因为在相应的maven文件中指定的下载jar包的文件夹中没有下载到这个jar包。
解决方案:我不使用idea默认的maven,自己又下载了一个maven需要配置路径
在maven中有下图所示的文件,打开写入默认路径:
至此,问题就解决了,当出现上面的问题时,就换个maven试试,不要急躁,会弄好的。