2016-02-27 60 views
0

我用
蝕火星
jdk8
tomcat8
科特林在彈簧項目1.0

IM程序Java的>科特林

我在POM中添加此代碼.XML
如何編譯科特林在蝕行家web項目

<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> 


但不要請編譯.kt文件時啓動tomcat或創建戰爭文件

.kt和.java文件都在同一個包
的方式混合,當你啓動tomcat或創建war文件,java文件是編譯 但.kt文件不是

從而在WEB-INF/classes目錄,的.class(這是的.java的結果) 和.kt文件(未編譯)存在

這個畫面是WEB- INF/classes目錄
classes folder

如何編譯.kt文件?

回答

0

我沒有看到POM中將Kotlin文件和依賴關係添加到WAR中的任何內容。

您最需要確保tomcat可以訪問Kotlin運行時,可以通過將其包含在WAR中或將其添加到tomcats類路徑中。