2017-10-08 74 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