Eclipse - 如何将Kotlin添加到Tomcat项目 - 编译Kotlin和Java文件

时间:2017-07-11 23:49:03

标签: eclipse tomcat kotlin eclipse-wtp

我需要帮助将Kotlin编译添加到现有的eclipse java tomcat项目中。

为了记录我在Eclipse Oxygen 4.7上,并安装了Kotlin插件。我已经成功创建并运行了基于gradle的弹簧启动Kotlin rest api demo,并且可以编译和运行" Kotlin Only Projects"并使用我的其他java库 - 真棒。

然而,现在我有Kotlin我想在工作中使用它来为我的其他'遗产' Tomcat 8项目是Java J2EE - 动态WTP ......我想在Kotlin中编写新的servlet。

我希望能够在我之前的任何一个软件包中的java src文件夹中添加一个Kotlin类,所以当我构建一个战争时,它们在逻辑上一起。

IDE似乎没问题 - 我在一个包中创建了一个Kotlin类(在一个tomcat项目java src包文件夹中),它在解析,导入或依赖方面没有问题......

我在想WOW!,现在好了,在WTP中重新启动Tomcat服务器,我就可以执行我的Kotlin Servlet了。否 - 404 404 404。

我检查了WEB-INF / classes构建文件夹以及所有Java类文件...猜猜看到了什么?!一个名为KotlinServlet.kt的文件(这是我的测试servlet的名称,源版本不是编译类版本)

因此,由于某种原因,构建/打包/部署并不打算编译* .kt文件并将其复制(可能这是一般WTP部署的默认设置)。

我想知道这是否可以通过"添加Kotlin Nature" ,奇怪的是,没有任何日食Kotlin菜单功能可供我使用。如果我右键单击我的项目,我就没有Kotlin菜单选项。

Eclipse声明插件已安装。

所以我的问题是:

鉴于现有的传统WTP Tomcat servlet项目,我们如何才能识别和编译* .kt文件?如何以及为什么我没有Kotlin菜单功能? (我下载并测试了Oxygen Java和J2EE版本 - 安装了Kotlin插件 - 并且没有任何菜单可以添加Kotlin Nature。我还尝试了插件的每晚构建。没有菜单出现。显然puglin已安装编译其他Kotlin项目并在编辑中工作。

从我的研究中 - "添加Kotlin Nature"应该做联合Java / Kotlin编译的技巧,但菜单功能在任何地方都不可用???

如果这是" Kotlin项目" eclipse编译Kotlin很好。

任何想法?看起来像是一个IntelliJ的阴谋。

谢谢,

4 个答案:

答案 0 :(得分:1)

好的我正在缩小范围。我发现kotlin类正在运行时lib下编译到这个位置?也许这将是我可以构建到我的普通类文件夹的东西。

enter image description here

答案 1 :(得分:1)

您需要添加相应的依赖项。管理项目依赖关系的最简单方法是使用构建工具( maven gradle Ant + Ivy ...)。在maven示例中,您需要:

<properties>
    <!-- your properties... and define version fir kotlin -->
    <kotlin.version>1.1.4</kotlin.version>
</properties>

<dependencies>
    <!-- your project dependencies... and add one for kotlin -->

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

<build>
    <plugins>
    <!-- your project plugins... and add one for kotlin -->
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>${kotlin.version}</version>
            <executions>
                <execution>
                    <id>compile</id>
                    <phase>compile</phase>
                    <goals>
                        <goal>compile</goal>
                    </goals>
                </execution>
                <execution>
                    <id>test-compile</id>
                    <phase>test-compile</phase>
                    <goals>
                        <goal>test-compile</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <jvmTarget>1.8</jvmTarget>
            </configuration>
        </plugin>
    </plugins>
</build>

如果您使用IDE,则需要安装kotlin语言支持插件才能使kotlin compiletest run更加用户友好。

答案 2 :(得分:0)

好的 - 要获得所有Kotlin菜单 - 结果你需要在PACKAGE EXPLORER标签而不是PROJECT EXPLORER。 arggh刚刚发现了侥幸。

创建.kt文件会自动将Kotlin的运行时和库添加到项目中。

现在关于构建/编译的问题。仍然很出色。

答案 3 :(得分:0)

确定更新 - 下载IntelliJ,“IT”开箱即用,15分钟内我运行了混合Java / Kotlin Tomcat项目。

仍然对Eclipse解决方案感兴趣,但我可能只是为IntelliJ支付现金。时间就是金钱。