我怎样才能使scala-maven-plugin看到由maven-compiler-plugin编译的类?

码斗牛

由于Scalac(https://issues.scala-lang.org/browse/SI-9853)中的错误,我无法使用scala-maven-plugin构建我的Java源代码

使用src / main / javasrc / main / scala中的源代码,可以很容易地拆分构建,以便由maven-compiler-plugin编译Java和由scala-maven-plugin编译Scala 现在,我遇到了Scala类看不到Java类的问题。在执行mvn clean编译时,对于Scala类所需的所有Java类,我都“找不到”。检查“目标/类”表明那里有Java类。

我尝试将Scala构建移动到不同的阶段,但结果保持不变。

我怎样才能使Scala-build看到目标/类中已经可用的类?

<?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>de.codepitbull.maven</groupId>
    <artifactId>maven-scalac-bug</artifactId>
    <version>3.4.0-SNAPSHOT</version>

    <name>Scalac + Javac</name>

    <properties>
        <scala.version>2.11.8</scala.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala.version}</version>
        </dependency>
        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-compiler</artifactId>
            <scope>provided</scope>
            <version>${scala.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
                <executions>
                    <execution>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <version>3.2.2</version>
                <configuration>
                    <sendJavaToScalac>false</sendJavaToScalac>
                    <args>
                        <arg>-target:jvm-1.8</arg>
                        <arg>-feature</arg>
                        <arg>-deprecation</arg>
                        <arg>-explaintypes</arg>
                        <arg>-unchecked</arg>
                        <arg>-Xlint</arg>
                    </args>
                </configuration>
                <executions>
                    <execution>
                        <id>java-compile-first</id>
                        <phase>compile</phase>
                        <goals>
                            <goal>compile</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
</project>
阿奇姆·尼尔贝克(Achim Nierbeck)

最简单的解决方法是将其分为两个子模块。这样,您就可以将Java类引用为依赖项。之后,生成内联两个模块的Uber jar或有阴影的jar。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我怎样才能告诉Maven我希望编译后的代码去哪儿?

maven-compiler-plugin和scala-maven-plugin有什么区别?

我怎样才能使GitHub依赖图/ Maven子模块上的指标列表依赖项所使用?

父pom中的maven-compiler-plugin

UnsupportedClassVersionError:org / apache / maven / plugin / compiler / TestCompilerMojo

SpringBoot Heroku org.maven.plugins:maven-compiler-plugin:3.8.1:编译失败

Maven编译器插件错误(maven-compiler-plugin:2.5.1:testCompile)

org.apache.maven.plugins:maven-compiler-plugin失败

我怎样才能看到Scala编译器在什么[Java / Scala?]代码中重写了原始的Scala代码

Maven编译错误-无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile

module-info.java使用maven-compiler-plugin和自动模块编译失败

jspc-maven-plugin由于缺少类而无法编译

我怎样才能使vuetify印刷类工作?

我怎样才能使这个PHP类静态

“ spring-boot-maven-plugin”和“ maven-compiler-plugin”之间有什么区别?

为Maven-compiler-plugin设置默认的jdk

什么时候需要maven-compiler-plugin?

maven-compiler-plugin 源无法按预期工作

无法使用MAVEN进行编译并出现错误-无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:compile

无法在项目上执行目标org.apache.maven.plugins:maven-compiler-plugin(默认编译):致命错误编译:找不到tools.jar

错误消息:无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.5.1:在项目上编译:编译失败

我怎样才能排除与Asciidoctor Maven插件空文件夹

Maven:如何使用maven-compiler-plugin指定Javac插件参数?

错误无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.8.0:testCompile

Maven插件基于先前插件的执行条件执行(maven-compiler-plugin)

无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.1

无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile

WSO2:找不到org.apache.maven.plugins:maven-compiler-plugin.jar:3.2.3

我怎样才能看到javac命令IntelliJ IDEA的用途来编译我的代码?