java是否可以使用Kotlin Liferay portlet? 1 周,3 日 Questions & Answers 524 由于我找不到任何这样的例子,我想知道是否有可能创建一个使用(纯)Kotlin而不是传统Java的Liferay Portlet
# 1 楼答案 Kotlin的目标是JVM——所以从技术上说:是的 有谁能帮你这么做吗?分享他们的发现:可能没有 是否存在共同的构建过程?我不知道 如果您为Liferay 6.2或7编写一个portlet,可能会有所不同——除非您只针对标准JSR286 portlet 这有点像Java门户中的PHP Portlet。这是可以做到的,但一旦你遇到第一个问题,你将很难找到任何人来帮助你确定(或修复)问题
# 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
# 1 楼答案
Kotlin的目标是JVM——所以从技术上说:是的
有谁能帮你这么做吗?分享他们的发现:可能没有
是否存在共同的构建过程?我不知道
如果您为Liferay 6.2或7编写一个portlet,可能会有所不同——除非您只针对标准JSR286 portlet
这有点像Java门户中的PHP Portlet。这是可以做到的,但一旦你遇到第一个问题,你将很难找到任何人来帮助你确定(或修复)问题
# 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标记前添加以下行:
并在javac标记中插入
<withKotlin/>
:就这样。如果运行
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