有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 1 楼答案

    Kotlin的目标是JVM——所以从技术上说:是的

    有谁能帮你这么做吗?分享他们的发现:可能没有

    是否存在共同的构建过程?我不知道

    如果您为Liferay 6.2或7编写一个portlet,可能会有所不同——除非您只针对标准JSR286 portlet

    这有点像Java门户中的PHP Portlet。这是可以做到的,但一旦你遇到第一个问题,你将很难找到任何人来帮助你确定(或修复)问题

  2. # 2 楼答案

    只需稍加调整,就可以在Kotlin中编写portlet

    下载kotlin library的最新版本: https://github.com/JetBrains/kotlin/releases/tag/v1.0.4

    解压lib文件夹的全部内容并将其复制到Liferay SDK lib文件夹中。因此,最后应该有类似于/path的东西,指向liferay sdk/lib/kotlin-*。罐子

    打开构建组件。在Liferay SDK目录中创建xml文件,并搜索javac标记(大约在第900行)

    在javac标记前添加以下行:

    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${sdk.dir}/lib/kotlin-ant.jar"/>
    

    并在javac标记中插入<withKotlin/>

    <typedef resource="org/jetbrains/kotlin/ant/antlib.xml" classpath="${sdk.dir}/lib/kotlin-ant.jar"/>
    <javac
      classpathref="@{javac.classpathref}"
      compiler="${javac.compiler}"
      debug="${javac.debug}"
      deprecation="${javac.deprecation}"
      destdir="@{javac.destdir}"
      encoding="${javac.encoding}"
      includeAntRuntime="false"
      nowarn="${javac.nowarn}"
      source="${javac.source}"
      srcdir="@{javac.srcdir}"
      target="${javac.target}">
     <withKotlin/>
    </javac>
    

    就这样。如果运行ant deploy,ant将编译*。kt文件与*。java适合你。现在,如果你使用Intellij IDEA,你可以在你的项目中添加一个Kotlin文件。IDE将为您配置项目。它还将向新创建的lib文件夹中添加3个文件(kotlin-reflect.jar、kotlin-runtime.jar、kotlin runtime sources.jar)。但是,您需要将这些文件复制到docroot/WEB-INF/lib文件夹中,以使其可用

    我在这里发布了一个关于它的博客:http://www.lims.io/blog/liferay-portlets-in-kotlin