• kotlin 学习 三 maven 集成+java 互调用


    项目基于idea 生成,主要是说明使用方法

    环境准备

    • 项目结构

    • main.kt
    fun main(args: Array<String>) {
        val user: User =  User();
        user.age=333;
        user.name="dalong"
        println("this is my user ${user.name}  ${user.age}")
    }
    • User.java
    /**
     * @author dalong
     */
    public class User {
        private String name;
        private int age;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
    } 
    • pom.xml
      包含了依赖以及构建
     
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns="http://maven.apache.org/POM/4.0.0"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <artifactId>consoleApp</artifactId>
        <groupId>me.dalong</groupId>
        <version>1.0-SNAPSHOT</version>
        <packaging>jar</packaging>
        <name>consoleApp</name>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <kotlin.code.style>official</kotlin.code.style>
            <kotlin.compiler.jvmTarget>1.8</kotlin.compiler.jvmTarget>
        </properties>
        <repositories>
            <repository>
                <id>mavenCentral</id>
                <url>https://repo1.maven.org/maven2/</url>
            </repository>
        </repositories>
        <build>
            <sourceDirectory>src/main/kotlin</sourceDirectory>
            <testSourceDirectory>src/test/kotlin</testSourceDirectory>
            <plugins>
                <plugin>
                    <groupId>org.jetbrains.kotlin</groupId>
                    <artifactId>kotlin-maven-plugin</artifactId>
                    <version>1.4.10</version>
                    <executions>
                        <execution>
                            <id>compile</id>
                            <phase>compile</phase>
                            <goals>
                                <goal>compile</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>test-compile</id>
                            <phase>test-compile</phase>
                            <goals>
                                <goal>test-compile</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.6</version>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals> <goal>single</goal> </goals>
                            <configuration>
                                <archive>
                                    <manifest>
                                        <mainClass>MainKt</mainClass>
                                    </manifest>
                                </archive>
                                <descriptorRefs>
                                    <descriptorRef>jar-with-dependencies</descriptorRef>
                                </descriptorRefs>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>exec-maven-plugin</artifactId>
                    <version>1.6.0</version>
                    <configuration>
                        <mainClass>MainKt</mainClass>
                    </configuration>
                </plugin>
            </plugins>
        </build>
        <dependencies>
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-test-junit</artifactId>
                <version>1.4.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.jetbrains.kotlin</groupId>
                <artifactId>kotlin-stdlib-jdk8</artifactId>
                <version>1.4.10</version>
            </dependency>
        </dependencies>
    </project>

    构建&&运行

    • 构建
    maven clean package
    • 运行
    java -jar target/consoleApp-1.0-SNAPSHOT-jar-with-dependencies.jar

    效果

    说明

    以上是一个简单的试用,实际互调用部分还是应该多看看官方文档

    参考资料

    https://kotlinlang.org/docs/reference/using-maven.html
    https://kotlinlang.org/docs/reference/java-interop.html

  • 相关阅读:
    XCode5中新建工程后强制使用了ARC,如何去掉?
    面向对象程序的设计原则--Head First 设计模式笔记
    ios控件自定义指引
    iOS UITableViewDelegate && UITableViewDataSource 执行顺序
    awakeFromNib方法和viewDidLoad方法区别
    ios 视图的旋转及应用
    线段树模板 (刘汝佳)
    poj 3468
    hdu 2829(四边形优化 && 枚举最后一个放炸弹的地方)
    poj 3517(约瑟夫环问题)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/13943758.html
Copyright © 2020-2023  润新知