2017-10-08 35 views
0

我有以下的pom.xml在Eclipse中科特林的Javascript Maven項目:與科特林的Javascript DOM操作在Eclipse中Maven項目

<project> 
    ... 
    <dependencies> 
     <dependency> 
      <groupId>org.jetbrains.kotlin</groupId> 
      <artifactId>kotlin-stdlib</artifactId> 
      <version>1.1.51</version> 
     </dependency> 
     <dependency> 
      <groupId>org.jetbrains.kotlin</groupId> 
      <artifactId>kotlin-stdlib-js</artifactId> 
      <version>1.1.51</version> 
     </dependency> 
    </dependencies> 

    <build> 
     <sourceDirectory>src/main/kotlin</sourceDirectory> 
     <plugins> 
      <plugin> 
       <groupId>org.jetbrains.kotlin</groupId> 
       <artifactId>kotlin-maven-plugin</artifactId> 
       ... 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-dependency-plugin</artifactId> 
       <executions> 
        <execution> 
         <id>unpack</id> 
         <phase>compile</phase> 
         <goals> 
          <goal>unpack</goal> 
         </goals> 
         ... 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

它的工作原理,如果我做一個正常的println("Hello World!")消息。 但我不能夠運行下面的代碼:

enter image description here

我做錯了嗎?

+0

我使用IntelliJ和Gradle,不是Eclipse和Maven,所以我不能告訴你這裏有什麼問題。但我可以確認你的Kotlin代碼是完全有效的。這似乎是項目設置的問題,因爲無法導入瀏覽器軟件包。 – Andi

回答

0

我認爲這是因爲getElementById返回的引用可能是null。由於Kotlin試圖避免空引用的危險,你必須自己明確地處理這種情況。您可以在Kotlin Reference中閱讀更多關於此選項和您的選項。

的「Java的方式」這裏將是

document.getElementById(listName)!!.innerHTML = "Test" 

彷彿返回的引用是null或設置innerHTML否則這將引發NullPointerException