自己给自己发消息。
要使用maven构建工程了,不是Scala了
首先配置maven环境。
从官网上下载maven :https://maven.apache.org/download.cgi 解压
这里下载的是 apache-maven-3.6.3-bin.zip
然后进行环境变量的配置。
配置maven
打开conf 目录下的settings
在settings.xml中加入:
(中间值可以自己修改,是作为保存jar包的路径)
(配置阿里云的镜像,提高下载速度)
在IDEA中配置Maven
接着创建maven项目:
点Next
点finish就打开了maven 工程依赖管理文件。
右下角会有一个选择: 是手动更新文件,还是自动,选自动。
接下来就是导包了。复制上节代码到pom文件中。
<!-- 定义一下常量 -->
<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>
上面的内容根据构建不同的项目需要添加不同的内容。
这时会花一些时间下载。我的在下载过程中出现了很多问题。一开始pom.xml 文件中两处报红,一处是这里
<!-- 指定源码包和测试包的位置 -->
<sourceDirectory>src/main/scala</sourceDirectory>
<testSourceDirectory>src/test/scala</testSourceDirectory>
在main 和 test 目录下新建directory ,名字为:scala (如果此文件夹为普通文件夹,走下面的步骤),可以右键--> mark directory as--> Source Root
还可以Project-->Modules-->Sources-->选中文件夹--->点上面的Sources
一处是<plugin>标签中报红,这个一直不知道是为啥,试了网上很多方法。,中途更新了IDEA,一开始默认下载的jar包保存在了.m2文件夹下,还把C:\Users\HP\.m2\repository\org中的报错的文件给删了。后来给放到上图配置的那个位置了。
最后删除了工程,重新新建了一个工程。报红的问题没有了,又出现了cannot resolve plugin org.apache.maven.plugins*
我把报错的文件夹删了几次,换网络重新下载了几次,问题没了。
上面修改项目的maven依赖的本地仓库,只是修改了本项目的,新建项目时依然使用的是默认的maven版本和默认的本地仓库。
解决方法:
修改全局的默认配置
file--> Other Settings--> Settings for New Projects...-->maven
修改Maven home directory User settings file Local repository 参考上面的内容进行填写。