同时使用java和scala语言的maven项目pom文件示例

IDEA 新建Maven项目同时支持Java和Scala两种语言 前言 之前用Eclipse+sbt+Scala,sbt 不支持Java,如果项目里包含Java文件打包会报错,现在有同时用Java和Scala的需求,比如写一个Java的类,用Scala去调用,所以改用Maven,第一次用,将过程记录下来。 首先安装Scala插件 然后新建一个maven project 建好之后,配一下maven 如图: 这个时候是不能使用Scala的,如图 配置 Project Structure File=>Project Structure=>Libraries 阅读详情
主要就是在pom.xml中添加scala的三个依赖包和maven-scala插件,配置如下:

<?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.lhever.lang</groupId>
    <artifactId>Java_scala</artifactId>
    <version>1.0-SNAPSHOT</version>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <junit.version>4.11</junit.version>
        <scala.version>2.12.5</scala.version>
    </properties>

    <dependencies>
        <!--   单元测试 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>${junit.version}</version>
            <scope>test</scope>
        </dependency>

        <!-- log4j日志记录 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.6.6</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.6.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.1.3</version>
        </dependency>

        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>2.12.5</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-compiler</artifactId>
            <version>2.12.5</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-reflect</artifactId>
            <version>2.12.5</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang.modules</groupId>
            <artifactId>scala-xml_2.12</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang.modules</groupId>
            <artifactId>scala-parser-combinators_2.12</artifactId>
            <version>1.1.0</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <id>compile-scala</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>test-compile-scala</id>
                        <phase>test-compile</phase>
                        <goals>
                            <goal>add-source</goal>
                            <goal>testCompile</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <scalaVersion>${scala.version}</scalaVersion>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.5.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>


</project>



maven项目中引入上述pom文件后,结构如下,这样,就可以在java项目中愉快的撸scala了:



POM模板(针对scala2.11.12).txt POM模板(针对scala2.11.12),(3)配置POM.xml文件,设置、、、 除了基础设置之外,其他可以沿用相同的代码架构 立即下载

相关推荐

材料力学小白必看:纯弯曲正应力计算全解析(附实例演示)

本文详细解析了材料力学中纯弯曲正应力的计算原理与工程应用,通过实例演示帮助初学者掌握关键公式和计算流程。内容涵盖纯弯曲的基本假设、正应力分布规律、截面特性计算,以及现代工具如Excel、ANSYS和Python在应力分析中的应用,特别适合材料力学小白系统学习。

sea99的博客 1233

在pom.xml添加scala-library包,使maven工程项目支持scala支持,不用在ide中进行配置添加scala库。

1、在pom.xml添加如下内容: <?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:schem...

sxj的专栏 8885

三菱A800变频器矢量控制实战:从速度控制到位置控制的PLG参数设置全解析

本文深入解析了三菱A800变频器结合FR-A8AP选件板与PLG(脉冲编码器)实现高精度矢量控制的实战应用。详细阐述了从速度控制、转矩控制到位置控制三种高级模式的切换逻辑、核心参数设置及硬件接线要点,帮助工程师充分发挥A800变频器的闭环控制潜力,应对复杂工业自动化场景。

weixin_28308325的博客 327

scala教程

scala第一天学习 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 scala常用版本与开发工具 常用版本为2.11.8 开发工具采用IDEA 基于idea的scala项目开发 在pom.xml中 将依赖的版本号进行封装 &amp;amp;amp;lt;scala.version&amp;amp;amp;gt;...

hucuoshi8718的博客 829

Apollo MPC横纵向耦合控制学习笔记

Apollo MPC横纵向控制原理学习笔记

weixin_39199083的博客 1万+

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1283

IDEA配置Maven-scala方式具体操作

   1、首先需要在IDEA中配置好scala的软件环境; 下载scala---windows版本,双击安装即可。要记好安装目录。 配置scala在IDEA中的语言环境File--Settings--Plugins---Browse repositories,直接搜索scacla,拉到下边找到LANGUAGES选项;如果没有安装过,右边框中会提示安装。直接安装即可。   此刻就可以书写s...

weixin_44037478的博客 2171

搞定ESD(五):静电放电问题分析与调试

前面深入分析了静电放电的干扰机理、耦合路径,从现在开始将进入下一个大家非常关注的环节:静电放电问题分析与调试,掌握静电放电问题的分析方法,快速锁定敏感设备或者耦合路径,可以达到事半功倍的效果。

记得诚 2797

使用Idea新建Play项目sbt构建失败,提示scala-xml依赖冲突

由于scala-xml1.x与2.x变更较大,所以各类库对其依赖未同时升级导致依赖冲突。本项目是由于play-twirl依赖scala-xml1.x,scala与sbt使用2.x导致。看到paly相关人员已经注意到sbt1.8.0发布的消息,可能很快将会合并scala-xml2.x,发布新的版本后可能不会再存在当前问题。原因:看描述应该是scala-xml这个依赖冲突了,这个依赖用在scala、sbt、play中,初步怀疑由于三个版本不兼容导致。play-twirl关于scala-xml的讨论。

sinat_33819452的博客 1152

《QT+PCL》点云配准进阶——GROR配准

GROR点云配准

阁楼 1318

【Unity】【Photon】Photon Fusion2 的核心Unity组件 NetworkRunner 学习笔记

本文是学习Photon Fusion2 的核心Unity组件 NetworkRunner的学习笔记。

O青草O的博客 Unity和游戏制作知识分享 1271

scala中的xml解析

xml解析xml加载xml获取元素xml获取子元素获取所有的元素获取属性获取元素的值 xml加载 XML.loadFile("C:/Users/dkh/Desktop/spark/spark/pom.xml") <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSche

qq_52612109的博客 504

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

maven混合编译java&scala

步骤: 1. mvn 生成scala项目 mvn archetype:generate \ -DarchetypeGroupId=org.scala-tools.archetypes \ -DarchetypeArtifactId=scala-archetype-simple \ -DremoteRepositories=http://scala-tools.org/repo-rel

拱头的专栏 6242

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

基于IntelliJ IDEA开发Spark的Maven项目——Scala语言

基于IntelliJ IDEA开发Spark的Maven项目——Scala语言 Maven管理项目在JavaEE普遍使用,开发Spark项目也不例外,而Scala语言开发Spark项目的首选。因此需要构建Maven-Scala项目来开发Spark项目,本文采用的工具是IntelliJ IDEA 2016,IDEA工具越来越被大家认可,开发java, python ,scala 支持都非常好

Ganymede的Hadoop世界 3万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

使用maven管理scala项目

在初始化环境的问题上一向做法比较多,可能我的做法并不是最优 首先使用maven构造器新建一个工程 mvn archetype:create -DgroupId=org.tony -DartifactId=scala 这样会按照默认为java的工程建立 接下来,我们需要引入maven管理scala项目的一个插件:maven-scala-plugin 官方的文

Tony_老七 6306

scala和maven整合

1.scala和maven如何整合 网上有一堆教程讲idea如何new module或new project一步一步来创建scala工程,在这里我不推荐这个。原因是现在主流的开发环境,大多数是采用maven来构建项目的,所以建议大家用maven+plugin的方式来构建scala应用,另外,就象VB.NET/C#/F#可同时在一个项目中使用,最大限度发挥各语种特长一样,java与可以与s...

suojie的博客 1万+

Maven创建scala项目及打包

1.创建新工程 可以选择maven-archetype-quickstart或者scala-archetype-simple。 2.点击next,填写GroupId,ArtifactId。其中GroupId为项目组名,后者为默认项目名。点击next。 3.点击finish即可创建。 4.目录结构如下: 5.在main目录下新建sala目录文件,如下图所示。可以发现scala文件为灰色。 6.点击...

BigData_Mining的博客 7341

maven项目如何打包

说明: (1)胖包:将maven项目中的依赖包和项目打为一个包 。 (2)瘦包:直接打包,不打包依赖包,仅打包出项目中的代码到JAR包中。 1.打瘦包 2.打胖包 第一种:只打胖包 快捷键:Alt+shirt+ctrl+s 定入口函数和胖包的保存路径 开始打包 打胖包完成 3.同时打胖包和瘦包 1.修改maven项目的pom文件 <build> <plugins> <plugin> <artifactId>maven-co

weixin_42834505的博客 1万+

使用 Maven 来构建 Scala

使用 Maven 来构建项目方便虽然方便,但依赖于每一个开发人员都去配置一遍项目的必要依赖,包括 Scala 插件的编译配置以及 Scala 的依赖类库,让每个人通过拷贝(Copy)之前的项目配置当然可以,但难免会出些纰漏。而从头开始所有相关配置项都配置一遍,又略显繁琐,那么,我们可不可以想办法来进一步简化类似的基于 Maven 的 Scala 项目创建和配置?

2401_87105829的博客 1723

使用maven集成java和scala开发环境

使用maven集成java和scala开发环境创建项目增加scala依赖创建目录安装scala插件scala的hello worldmaven 插件配置仓库maven-compile-pluginmaven-scala-pluginmaven-jar-pluginmaven-dependency-pluginmaven-assembly-pluginspark 开发环境 git地址:https://gitee.com/jyq_18792721831/sparkmaven.git 创建项目 我们首先创建一个普

a18792721831的博客 3543

maven scala java 混合项目编译、打包(jar包)、运行

文章目录说明java相关的插件scala相关的插件maven命令打包创建项目分别指定java和scala的source root路径编辑pom文件执行命令运行jaridea打包参考资料 说明 一开始用的是在idea中打包的方式,但是在更新项目结构或是更新以来后,需要手动的去修改原来的配置,不是很方便。于是查找资料看下用maven命令如何打包 java相关的插件 java代码编译与打包,我参考了这篇文章的内容,介绍的很详细:https://blog.youkuaiyun.com/dyq51/article/details

枪枪枪的博客 9286

Eclipse下创建java+scala混合项目

本文主要是利用Eclipse创建一个既能写java代码也能写scala代码的maven项目。还包括利用maven创建父子项目。 1.创建java+scala混合项目 在这里先利用maven创建一个java项目,然后往这个项目里配置scala。 首先安装scala插件。点击 帮助-> Eclipse Marketplace,搜索scala,然后安装即可。 修改maven项目下的pom....

读万卷书 行万里路 2247

scala —— maven scala项目开发

环境准备IntelliJ IDE + maven + scala 创建java和scala混合开发的项目,IDE用intellij,项目管理工具使用maven 1.intellij安装scala插件 File -》 Settings -》 Plugins中搜索scala,安装插件 安装完成后的页面如下: 创建项目新建一个maven项目 创建的空项目如下图所示: 和java同目录

星辰大海,脚踏实地 1772

Linux下编译打包 Java/Scala Maven项目

前言:学习spark时,需要用远程集群来跑项目,因此要了解一下如何编译scala maven项目。但是网上资料好乱啊! 只能自己来写一个符合像我一样情况的初学者。 环境: Scala Version: 2.11.12 Java Version: openjdk 1.7 Maven Version: 3.0.5 Java Maven 编译及打jar包 之所以介绍,是因为Java和Scala编译过...

yonghangtian的博客 2394

Maven下Scala和Java混合打包

楔子 Maven下Scala和Java混合打包 ,相关配置文件当独提取出来,依赖的jar包也使用meavn拷贝到一个lib目录下 效果 打包命令 mvn clean scala:compile compile package -- 下面这个 比上面多 dependency:copy-dependencies -DoutputDirectory=target/lib 表示吧依赖的jar 打包...

zhuzi51的专栏 2389
上一篇: Java Thread.interrupt 复习
下一篇: Cxf和Axis使用https进行通信的笔记示例
lhever_
博客等级 码龄14年 213粉丝 130原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值