【idea实用系列2】maven如何创建混合Java/Scala项目
在进行混合Java/Scala项目开发时,您可以按照以下步骤进行设置和使用Maven进行构建。
创建一个普通的Java的maven项目,然后把这边的pom拷贝进去进行啦,适当改下scala java版本号,其他都不用改,超级简单实用。
前提条件
- 将Java源文件放置在
src/main/java
目录下。 - 将Java测试源文件放置在
src/test/java
目录下。 - 将Scala源文件放置在
src/main/scala
目录下。 - 将Scala测试源文件放置在
src/test/scala
目录下。
pom文件配置
在pom.xml文件中添加以下配置来支持Java和Scala的编译和依赖管理:
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sandbox</groupId>
<artifactId>testJavaAndScala</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Test for Java + Scala compilation</name>
<description>Test for Java + Scala compilation</description>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<scala.version>2.12.5</scala.version>
</properties>
<dependencies>
<!-- Scala库的依赖 -->
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Scala编译插件 -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>4.4.0</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Java编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<executions>
<execution>
<id>default-compile</id>
<phase>none</phase>
</execution>
<execution>
<id>default-testCompile</id>
<phase>none</phase>
</execution>
<execution>
<id>java-compile</id>
<goals>
<goal>compile</goal>
</goals>
<phase>compile</phase>
</execution>
<execution>
<id>java-test-compile</id>
<goals>
<goal>testCompile</goal>
</goals>
<phase>test-compile</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
构建和测试
通过运行以下Maven命令来构建和测试项目:
# 编译Java和Scala源文件
mvn compile
# 运行Java和Scala的单元测试
mvn test
# 打包Java和Scala代码到可执行的JAR文件
mvn package
这些命令将使用Maven进行Java和Scala源文件的编译、测试和打包。