如何在eclipse maven web项目中编译kotlin

我用了
日食火星
jdk8
tomcat8
kotlin 1.0

即时处理java-> kotlin在春天项目

我在pom.xml中添加这个代码

<properties> <kotlin.version>1.0.0</kotlin.version> </properties> ... <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>${kotlin.version}</version> </dependency> </dependencies> .... <build> <plugins> <plugin> <artifactId>maven-eclipse-plugin</artifactId> <version>2.9</version> <configuration> <additionalProjectnatures> <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> </additionalProjectnatures> <additionalBuildcommands> <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> </additionalBuildcommands> <downloadSources>true</downloadSources> <downloadJavadocs>true</downloadJavadocs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.5.1</version> <configuration> <source>1.6</source> <target>1.6</target> <compilerArgument>-Xlint:all</compilerArgument> <showWarnings>true</showWarnings> <showDeprecation>true</showDeprecation> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2.1</version> <configuration> <mainClass>org.test.int1.Main</mainClass> </configuration> </plugin> <plugin> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-maven-plugin</artifactId> <version>${kotlin.version}</version> <executions> <execution> <id>compile</id> <phase>process-sources</phase> <goals> <goal>compile</goal> </goals> <configuration> <sourceDirs> <source>src/main/kotlin</source> </sourceDirs> </configuration> </execution> <execution> <id>test-compile</id> <phase>process-test-sources</phase> <goals> <goal>test-compile</goal> </goals> <configuration> <sourceDirs> <source>src/test/kotlin</source> </sourceDirs> </configuration> </execution> </executions> </plugin> </plugins> </build> 

但是当tomcat启动或创建为war文件时,不要将.kt文件进行complile

.kt和.java文件在同一个包中混合使用
顺便说一句,当你启动tomcat或创建war文件,.java文件被编译但.kt文件不是

因此在WEB-INF / classes目录中存在.class(是.java的结果)和.kt文件(不是编译的)

这张图片是WEB-INF / classes目录
类文件夹

如何编译.kt文件?

我没有看到POM中将Kotlin文件和依赖关系添加到WAR中的任何内容。

你最确定的是,tomcat可以访问Kotlin运行时,或者通过将其包含在WAR中或者将它添加到tomcats类路径中。