我需要帮助将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的阴谋。
谢谢,
答案 0 :(得分:1)
答案 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
compile
或test run
更加用户友好。
答案 2 :(得分:0)
好的 - 要获得所有Kotlin菜单 - 结果你需要在PACKAGE EXPLORER标签而不是PROJECT EXPLORER。 arggh刚刚发现了侥幸。
创建.kt文件会自动将Kotlin的运行时和库添加到项目中。
现在关于构建/编译的问题。仍然很出色。
答案 3 :(得分:0)
确定更新 - 下载IntelliJ,“IT”开箱即用,15分钟内我运行了混合Java / Kotlin Tomcat项目。
仍然对Eclipse解决方案感兴趣,但我可能只是为IntelliJ支付现金。时间就是金钱。