有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java mavencompilerplugin和scalamavenplugin有什么区别?

我目前正在处理一个混合Java和Scala(Spark)的项目。似乎这还不够,我的一些依赖项导入了Spark和Scala的其他版本(不兼容复古版)

总而言之,我的依赖关系树可能是这样的:

myProjectA
\_ myLibB
| \_ spark 1.5.2 (excluded in my pom.xml)
|  \_ scala 2.10.4 (excluded in my pom.xml)
\_ spark 2.2.0 (with Scala 2.11)
|  \_ scala 2.11.7
\_ scala 2.11.11
\_ java 8

在我的项目中对地图进行了一个小的修改之后,编译就不再工作了。。。仅供参考,修改包括在硬编码地图中添加一个元素

因此,我正在寻找一个解决方案来编译我的项目。我当前正在使用此生成配置:

  <plugin>
    <groupId>net.alchim31.maven</groupId>
    <artifactId>scala-maven-plugin</artifactId>
    <version>3.1.3</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>

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4.1</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
        <id>make-assembly</id>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

我意识到,即使在导致上一个配置错误的更改之后,这个其他配置似乎也可以正常工作(我将scala-maven-plugin替换为maven-compiler-plugin):

  <plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.4.1</version>
    <configuration>
      <descriptorRefs>
        <descriptorRef>jar-with-dependencies</descriptorRef>
      </descriptorRefs>
    </configuration>
    <executions>
      <execution>
        <id>make-assembly</id>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
      </execution>
    </executions>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
      <source>1.7</source>
      <target>1.7</target>
    </configuration>
  </plugin>

两个问题:
-{}和{}之间有什么区别
-maven-compiler-plugin能否高效编译Scala代码/混合Java Scala代码


共 (1) 个答案

  1. # 1 楼答案

    maven编译器插件和scala maven插件有什么区别

    Maven编译器插件主要用于编译java源代码。Scala插件可以编译Java和Scala源代码。Maven编译器插件将始终是编译阶段调用的第一个插件。由于不能编译scala源代码,解决方案是要么使用一些预编译阶段来运行scala和java兼容的编译器插件。事实上,如果你使用scala插件,你不需要maven编译器插件

    maven编译器插件能否高效编译Scala代码/混合Java Scala代码

    没有

    请通过这个link