Запустить kts-скрипт Kotlib из Maven

Котлин: 1.4.10

Я хотел бы запустить сценарий Kotlin (.kts) от Maven. Я пытался минировать java -cp ... зов kotlinc.bat.

kotlinc.bat -script my-script.kts

вопросы

<JDK>\jdk1.8.0_181-x64\bin\java.exe -Xmx256M -Xms32M -noverify
    -cp "<path>\kotlin-compiler-1.4.10\bin\..\lib\kotlin-preloader.jar"
    org.jetbrains.kotlin.preloading.Preloader
    -cp "<path>\kotlin-compiler-1.4.10\bin\..\lib\kotlin-compiler.jar"
    org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
    -script
    my-script.kts

Вызов моего плагина Maven выглядит так:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <phase>generate-resources</phase>
            <goals>
                <goal>java</goal>
            </goals>
            <configuration>
                <includePluginDependencies>true</includePluginDependencies>
                <mainClass>org.jetbrains.kotlin.preloading.Preloader</mainClass>
                <arguments>
                    <argument>-cp</argument>
                    <argument>${path.kotlin-compiler.jar}</argument>
                    <argument>org.jetbrains.kotlin.cli.jvm.K2JVMCompiler</argument>
                    <argument>-script</argument>
                    <argument>${basedir}\src\main\kotlin\my-script.kts</argument>
                </arguments>
            </configuration>                
        </execution>
    </executions>
    <dependencies>
        <dependency>
            <!--   NOT EXISTS   -->
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-preloader</artifactId>
            <version>1.4.10</version>
        </dependency>
    </dependencies>
</plugin>

Моя проблема:

  • Я не могу получить kotlin-preloader.jar как зависимость Maven

  • Если я использую местный kotlin-preloader.jar, он ищет банки (например, annotations-13.0.jar), расположенные рядом с kotlin-compiler.jar, как в дистрибутиве Kotlin. Не очень хорошо, если JAR находятся в локальном репозитории Maven.

  • Без прелоадера я получаю сообщение об ошибке

    warning: default scripting plugin is disabled: The provided plugin 
             org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar
             is not compatible with this version of compiler
    error: unable to evaluate script, no scripting plugin loaded
    

Мой вопрос:

  • Как я могу выполнить простой скрипт Kotlin во время сборки Maven?(без локальной установки Kotlin)

0 ответов

Другие вопросы по тегам