zoukankan      html  css  js  c++  java
  • 关于scala和java 在maven项目中混编的问题

    1.需要添加scala 相关maven配置:

    <properties>
            <scala.version>2.10.1</scala.version>
            <slf4j.version>1.7.7</slf4j.version>
            <scala.maven.version>2.10.1</scala.maven.version>
        </properties>
    
        <repositories>
            <repository>
                <id>scalaz</id>
                <name>scalaz</name>
                <url>http://dl.bintray.com/scalaz/releases</url>
            </repository>
            <repository>
                <id>mvnrepository</id>
                <name>Derbysoft Release Repository</name>
                <url>http://search.maven.org/remotecontent?filepath=</url>
            </repository>
    
    
            <repository>
                <id>jahia</id>
                <name>mvnrepository</name>
                <url>http://maven.jahia.org/maven2</url>
            </repository>
    
        </repositories>
    
        <dependencies>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-library</artifactId>
                <version>${scala.version}</version>
                <scope>compile</scope>
            </dependency>
            <dependency>
                <groupId>org.scala-lang</groupId>
                <artifactId>scala-compiler</artifactId>
                <version>${scala.version}</version>
                <scope>compile</scope>
            </dependency>
    
            <dependency>
                <groupId>org.specs2</groupId>
                <artifactId>specs2_2.11</artifactId>
                <version>2.4.6</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>net.alchim31.maven</groupId>
                    <artifactId>scala-maven-plugin</artifactId>
                    <version>3.2.0</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.1</version>
                    <configuration>
                        <source>1.7</source>
                        <target>1.7</target>
                        <excludes>
                            <exclude>**/*.java</exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    2.需要注意:先编译scala代码,再编译java代码(原因:如果java 有依赖scala 代码,正常编译会抛错:无法找到scala代码)

  • 相关阅读:
    思维发散的双刃剑
    一个请求过来都经过了什么?(Thrift版)
    业务开发转基础开发,这三种「高可用」架构你会么?
    程序常用的设计技巧
    美团分布式服务通信框架及服务治理系统OCTO
    《程序员修炼之道》解读
    面试官说:你真的不是不优秀只是不合适
    架构视角-文件的通用存储原理
    那些影响深远的弯路
    iOS sqlite ORM框架-LKDBHelper
  • 原文地址:https://www.cnblogs.com/yako/p/5730552.html
Copyright © 2011-2022 走看看