この投稿は、Kotlin言語に精通した方法、これに使用したリソースとツール、およびそれをjarにまとめてコンソールで起動した方法に関するメモです。
一般的に、私はPHPプログラマーであり、Javaに少し迷惑です。 先日、コトリンに会うことにしました。 これは、JetBrainsからは本質的に静的に型付けされるという点まで、それほど強く型付けされていない言語です。 これはJavaとの主な基本的な違いであり、Kotlinには独自の優れた構文があります。 KotlinはJVMまたはJavaScriptでコンパイルできます。
お互いを知りましょう。 まず、IDEのアイデアが必要です。
http://www.jetbrains.com/idea/同じサイトのインストール手順。 バージョン13以降。
IDE内で、単純なJavaプロジェクトを作成しました。 次に、IDE用のJetBrainsプラグインをインストールする必要があります。
http://confluence.jetbrains.com/display/Kotlin/Getting+Startedプラグインは、オートコンプリートとKotlinプロジェクトを作成する機能を追加します。
Kotlinコンパイルツールも追加されています。
Kotlinの機能は、Javaと完全に互換性があることです。 つまり KotlinコードはJavaで呼び出すことができ、その逆も可能です。 したがって、Javaでの作業に使用されるすべてのツールとライブラリは、Kotlinにも適用できます。
IDEのプロジェクトが最初にKotlinによって作成されていない場合は、プラグインをインストールした後、Kotlinサポートを有効にできます。 プロジェクトに含めると、Kotlinライブラリのjarが/ libディレクトリに追加されます。
Kotlinを有効にして、/ src / testingフォルダーにテスト用の次のコードを記述しました。
kotlinファイルには、意図的にコメントを残しました。 これらはページからの例です。
http://confluence.jetbrains.com/display/Kotlin/Hello%2C+world%21まず、プラグインが機能し、コードがコンパイルされることを確認するために、IDEでkotlinファイルを個別に実行しました。
次に、Javaクラスを作成しました。
ここで、引数を受け入れて直接Kotlinに渡したいことは明らかです。 Kotlinでは、言語の例を使用し、引数に依存する私の別の名前を追加しました-私のニックネーム。 Javaでは、PackageNamePackage.method name()を呼び出すことにより、Kotlinからメソッドを呼び出して変数にアクセスできます。
IDEでプロジェクトが正しく構成されている場合、プログラムを呼び出す引数を指定できます。 しかし、これはあまり便利ではありません。テストのために、エラーをキャッチするためにその場で引数を変更したいと思います。 コンソールから実行するjarを作成する必要がありました。
このプロジェクトには最初はMavenがありませんでした。
このページはこれを助けてくれました。
http://confluence.jetbrains.com/display/Kotlin/Kotlin+Build+ToolsKotlinのドキュメントは、そこから言語を学ぶのに十分な情報を提供します。
また、mavenとgradleを使用した構築に関して、次の例を見ることができます。
https://github.com/JetBrains/kotlin-examplesこれが私のpom.xmlファイルです <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>org.jetbrains.kotlin.examples</groupId> <artifactId>idea_test</artifactId> <version>1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>idea_test</name> <url>http:
ここでは、kotlin-maven-pluginの設定が使用され、ファイルを検索するディレクトリが示されます。
また、maven-jar-pluginが使用されます。 <
マニフェスト >を正しく設定することは非常に重要です。そうしないと、jarが「
メインマニフェスト属性なし 」エラーで開始しない理由を見つけるのに時間がかかります。
ビルド後、プロジェクトjarは/ターゲットディレクトリにあります。 Ideaには、建設を管理するのに便利な別のMavenプロジェクトウィンドウがあります。
jarを実行するには、通常、コマンドが実行されます
java -jar /path/to/file.jar argument1 argument2
私の場合、これは機能しませんでした、なぜなら 私は、ビルドにkotlin jarライブラリーを追加するmavenプラグインを使用しませんでした。
したがって、エラーが発生します
java -jar target/idea_test-1.0-SNAPSHOT.jar 1 Hello 1 Exception in thread "main" java.lang.NoClassDefFoundError: kotlin/jvm/internal/Intrinsics at testing.TestingPackage-first-39a20e2.main(first.kt:27) at testing.TestingPackage.main(first.kt:1) at testing.first.main(first.java:16) Caused by: java.lang.ClassNotFoundException: kotlin.jvm.internal.Intrinsics at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
ここから、Kotlinライブラリが見つからないことが明らかです。
jar依存関係などを示す正しい呼び出し
java -cp target/idea_test-1.0-SNAPSHOT.jar:lib/kotlin-runtime.jar testing.first seyfer Hello seyfer seed!
これで、コードは正しく機能します。 ご覧のとおり、引数をjavaで受け取って出力し、それをkotlinに渡し、それに基づいてwhen構文を(スイッチケースのように見えるという意味で)解決しました。
ビルドに依存jarを含めてjarをビルドするには、mavenプラグイン-maven-dependency-pluginを使用できます。 またはonejar-maven-pluginから
one-jarプロジェクトへ。
私はワンジャーを使用することにしました。
pom.xmlに追加する必要があるものは次のとおりです。 <plugin> <groupId>org.dstovall</groupId> <artifactId>onejar-maven-plugin</artifactId> <version>1.4.5</version> <executions> <execution> <configuration> <binlibs> <fileSet> <directory>${project.build.directory}/../lib/</directory> <includes> <include>kotlin-runtime.jar</include> </includes> </fileSet> </binlibs> <attachToBuild>true</attachToBuild> <classifier>onejar</classifier> </configuration> <goals> <goal>one-jar</goal> </goals> </execution> </executions> </plugin> <pluginRepository> <id>onejar-maven-plugin.googlecode.com</id> <url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url> </pluginRepository>
次に、プロジェクトを再構築します。
mvn package
プロジェクトname.one-jar.jarファイルが/ターゲットディレクトリに表示されます。 通常の方法で呼び出すことができます。
java -jar target/idea_test-1.0-SNAPSHOT.one-jar.jar seyfer Hello seyfer seed!
これでプロジェクトのセットアップが完了しました。 上記のドキュメントリンクを使用して、Kotlinをさらに探索できます。
個人的に、私は言語が本当に好きでした。 間違いなく、それはそのニッチを占有し、PHPのバージョンとしてFacebookによって開発されたハック言語を占有します。
Kotlin公式ページ。
http://kotlin.jetbrains.org/例付きのブラウザで実行するエディター。
http://kotlin-demo.jetbrains.com/ところで、KotlinにはすでにWebフレームワークが記述されています。
http://karaframework.com/