加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

对于scala项目,Maven编译回复’无编译源’

发布时间:2020-12-16 18:04:33 所属栏目:安全 来源:网络整理
导读:我有以下(单个) scala类 [ 14253 Oct 30 8:44] ./pom.xml[ 9083 Oct 30 8:30] ./scaladem.iml[ 102 Oct 29 19:21] ./src[ 102 Oct 29 19:21] ./src/main[ 102 Oct 29 19:21] ./src/main/scala[ 102 Oct 29 19:21] ./src/main/scala/com[ 102 Oct 29 19:21] .
我有以下(单个) scala类

[      14253 Oct 30  8:44]  ./pom.xml
[       9083 Oct 30  8:30]  ./scaladem.iml
[        102 Oct 29 19:21]  ./src
[        102 Oct 29 19:21]  ./src/main
[        102 Oct 29 19:21]  ./src/main/scala
[        102 Oct 29 19:21]  ./src/main/scala/com
[        102 Oct 29 19:21]  ./src/main/scala/com/blazedb
[        102 Oct 30  8:30]  ./src/main/scala/com/blazedb/scalademo
[       4646 Oct 30  8:30]  ./src/main/scala/com/blazedb/scalademo/SDemo.scala

这是pom的适用部分

<plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.1.6</version>
        <configuration>
          <recompileMode>incremental</recompileMode>
          <javacArgs>
            <javacArg>-Xlint:unchecked</javacArg>
            <javacArg>-Xlint:deprecation</javacArg>
          </javacArgs>
        </configuration>
    <executions>
        <execution>
            <id>scala-compile-first</id>
            <phase>process-resources</phase>
            <goals>
                <goal>add-source</goal>
                <goal>compile</goal>
            </goals>
        </execution>
        <execution>
            <id>scala-test-compile</id>
            <phase>process-test-resources</phase>
            <goals>
                <goal>testCompile</goal>
            </goals>
        </execution>
    </executions>
</plugin>

我们跑的时候

mvn compile

我们得到(注意’没有来源’..)

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building SDemo 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ scalademo ---
[INFO] No sources to compile
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

更新:运行以下命令时

$mvn scala:compile -DdisplayCmd=true

编译成功.

根据@badtrumpet的建议,我添加了如下所示的显式

<sourceDirectory>src/main/scala</sourceDirectory>

这甚至可以通过mvn编译来实现.但对于混合java / scala项目来说,这将是一个问题.

解决方法

这是一个示例(简单)pom.xml,我使用它作为Scala编译和使用Maven构建的一些样板:

<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>badtrumpet</groupId>
<artifactId>blog</artifactId>
<version>1.0-SNAPSHOT</version>
<inceptionYear>2013</inceptionYear>
<packaging>jar</packaging>
<properties>
    <scala.version>2.10.2</scala.version>
    <commons.codec.version>1.8</commons.codec.version>
    <grizzled.version>1.0.1</grizzled.version>
    <slf4j-log4j12.version>1.7.5</slf4j-log4j12.version>
</properties>

<repositories>
    <repository>
        <id>Sonatype repository</id>
        <name>Sonatype's Maven repository</name>
        <url>http://oss.sonatype.org/content/groups/public</url>
    </repository>
    <repository>
        <id>scala-tools.org</id>
        <name>Scala-Tools Maven2 Repository</name>
        <url>http://scala-tools.org/repo-releases</url>
    </repository>
    <repository>
        <id>milestone.repo.springsource.org</id>
        <name>repo.springsource.org-milestone</name>
        <url>https://repo.springsource.org/libs-milestone</url>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>scala-tools.org</id>
        <name>Scala-Tools Maven2 Repository</name>
        <url>http://scala-tools.org/repo-releases</url>
    </pluginRepository>
</pluginRepositories>

<dependencies>
    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-library</artifactId>
        <version>${scala.version}</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons.codec.version}</version>
    </dependency>
    <dependency>
        <groupId>org.clapper</groupId>
        <artifactId>grizzled-slf4j_2.10</artifactId>
        <version>${grizzled.version}</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j-log4j12.version}</version>
    </dependency>
</dependencies>

<build>
    <sourceDirectory>src/main/scala</sourceDirectory>
    <testSourceDirectory>src/test/scala</testSourceDirectory>
    <plugins>
        <plugin>
            <groupId>org.scala-tools</groupId>
            <artifactId>maven-scala-plugin</artifactId>
            <executions>
                <execution>
                    <goals>
                        <goal>compile</goal>
                        <goal>testCompile</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <scalaVersion>${scala.version}</scalaVersion>
            </configuration>
        </plugin>
    </plugins>
</build>
<reporting>
    <plugins>
        <plugin>
            <groupId>org.scala-tools</groupId>
            <artifactId>maven-scala-plugin</artifactId>
            <configuration>
                <scalaVersion>${scala.version}</scalaVersion>
            </configuration>
        </plugin>
    </plugins>
</reporting>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读