Невозможно ссылаться на класс Java из файла Kotlin в проекте Maven - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь сослаться на класс Java из файла Kotlin, но проблема в том, что я не могу сослаться на пакет, содержащий источники Java.

Что я пытаюсь:

fun main.dmla.java.parser.DMLAParser.parseDmla(source: Source): Any {
    val lexer = DMLALexer(CharStreams.fromString(source.characters.toString()))
    val parser = DMLAParser(CommonTokenStream(lexer))

    val walker = DmlaWalker()

    return walker.visit(parser.model())
}

Я не могу ссылаться на пакет main.dmla.java по какой-то причине, поэтому я не могу получить доступ к классу DMLAParser.

Maven pom.xml выглядит так:

<parent>
    <groupId>DMLAGraalVM</groupId>
    <artifactId>DMLA-parent</artifactId>
    <version>0.0.1</version>
</parent>

<artifactId>language</artifactId>

<properties>
    <java.version>1.8</java.version>
    <kotlin.version>1.3.21</kotlin.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.graalvm.truffle</groupId>
        <artifactId>truffle-api</artifactId>
        <version>${graalvm.version}</version>
    </dependency>
    <dependency>
        <groupId>org.graalvm.truffle</groupId>
        <artifactId>truffle-dsl-processor</artifactId>
        <version>${graalvm.version}</version>
    </dependency>
    <dependency>
        <groupId>org.graalvm.truffle</groupId>
        <artifactId>truffle-tck</artifactId>
        <version>${graalvm.version}</version>
    </dependency>

    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-stdlib-jdk8</artifactId>
        <version>${kotlin.version}</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <artifactId>kotlin-maven-plugin</artifactId>
            <groupId>org.jetbrains.kotlin</groupId>
            <version>${kotlin.version}</version>
            <executions>
                <execution>
                    <id>compile</id>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                    <configuration>
                        <sourceDirs>
                            <sourceDir>${project.basedir}/src/main/dmla/kotlin</sourceDir>
                            <sourceDir>${project.basedir}/src/main/dmla/java</sourceDir>
                        </sourceDirs>
                    </configuration>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>${java.version}</source>
                <target>${java.version}</target>
            </configuration>
            <executions>
                <execution>
                    <id>default-compile</id>
                    <phase>none</phase>
                </execution>
                <execution>
                    <id>java-compile</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.1</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <finalName>dmla</finalName>
                        <artifactSet>
                            <excludes>
                                <exclude>org.graalvm.truffle:truffle-api</exclude>
                                <exclude>org.graalvm.truffle:truffle-dsl-processor</exclude>
                                <exclude>org.graalvm.truffle:truffle-tck</exclude>
                            </excludes>
                        </artifactSet>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...