【Kotlin】Gradle对比Eclipse传统打包

news/2024/5/20 1:53:57 标签: gradle

文章目录

  • Eclipse打包操作
  • Gradle
    • 简介
    • 下载和安装
    • 用Gradle打包
  • java和kotlin共存

Eclipse打包操作

在这里插入图片描述
我们用Eclipse编写程序,一个Girl类和一个测试类HelloWorld

public class Girl {
	//TDD 测试驱动开发
	public String greeting() {
		return "Hello";
	}
}

public class HelloWorld {
	@Test
	public void testGreeting() {
		Girl girl = new Girl();
		String actual = girl.greeting();
		Assert.assertEquals("Hello",actual);
	}
}

运行HelloWold,运行通过
在这里插入图片描述
现在写程序入口Main.java

public class Main{
	public static void main(String[] args) {
		Girl girl = new Girl();
		System.out.println(girl.greeting());	
	}
}
//运行结果输出Hello

打包,File-Export,搜索jar,选择JAR file
在这里插入图片描述
选择要导出的项目和保存地址,这里我们保存到桌面,并且给它命名为hello.jar点击next
在这里插入图片描述
继续next
在这里插入图片描述
选择主程序Main,然后finish
在这里插入图片描述
这样桌面上就有了一个hello.jar
在这里插入图片描述
怎样运行呢,我们要写一个批处理文件,命名为start.bat,内容为:

java -cp hello.jar Main

打开命令行,进入到桌面,输入start.bat即可
在这里插入图片描述
我们看到输出一个hello

Gradle

简介

我们看到上边的步骤真的很繁琐,然后出现了很多自动构建工具,java常见构建工具有
在这里插入图片描述
在这里插入图片描述

下载和安装

Gradle官网下载
在这里插入图片描述
在这里插入图片描述
解压后的bin目录需要添加到环境变量,如果在命令行运行gradle,出现以下内容,则为成功
在这里插入图片描述

用Gradle打包

IDEA创建一个新项目
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
打开新创建的项目,可以查看使用的gradle版本
在这里插入图片描述
可以看到是5.2.1,我们之前下载的gradle版本是6.0的,可以改为我们下载的版本
在这里插入图片描述
还有一个要修改的就是项目下的build.gradle,修改文件名为build.gradle.kts,kts是kotlin script缩写,这样我们就可以使用kotlin编写gradle脚本
在这里插入图片描述
在这里插入图片描述
重启IDEA

我们重写一下build.gradle.kts

plugins{
    application
}
application{
    mainClassName = "Main"
}

其中plugins里是插件
application插件
可以编译出一个应用程序,可以是java应用程序,也可以是kotlin应用程序

java插件
只能编译出java应用程序

更多插件可以去gradle官网查看:https://plugins.gradle.org/

新建一个Girl和Main
在这里插入图片描述

public class Girl {
    public String greeting(){
        return "Hello";
    }
}

public class Main {
    public static void main(String[] args){
        Girl girl = new Girl();
        System.out.println(girl.greeting());
    }
}

右侧Gradle-Tasks里有个run,这个按钮的作用和Eclipse中的运行是一样的,我们双击试下
在这里插入图片描述
在这里插入图片描述
如果想发布,我们可以双击distZip,将程序发布成一个压缩文件
在这里插入图片描述
发布后的位置如下
在这里插入图片描述
解压得到一个demo文件夹,里边包含两个文件夹
在这里插入图片描述
在这里插入图片描述
其中国demo是linux执行需要的脚本,demo.bat是windows执行需要的脚本
在这里插入图片描述
demo.jar是写好的代码编译成的jar包

打开命令行,运行demo.bat
在这里插入图片描述
如果运行出错,请戳A JNI error has occurred, please check your installation and try again

java和kotlin共存

在这里插入图片描述
新建一个项目demo2,让java和kotlin共存
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目目录下默认会有java和kotlin文件夹
在这里插入图片描述
分别新建Main.java和Girl.kt

public class Main {
    public static void main(String[] args){
        Girl girl = new Girl("Lily");
        System.out.println(girl.greeting());
    }
}
class Girl(var name:String) {
    fun greeting() = name + " hello"
}

Main.java中右键-Run Main.main()运行程序
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/1817178.html

相关文章

LeetCode : 最长特殊序列 I

521. 最长特殊序列 Ⅰ - 力扣(LeetCode) (leetcode-cn.com) 解析 最长的特殊序列的长度: 1. 如果两串长度不相同,那么最长的特殊序列的长度即为较长的字符串的长度 2. 如果两串长度相同 1)如果两串不等&#xff0…

剑指offer 30. 包含min函数的栈

剑指 Offer 30. 包含min函数的栈 - 力扣(LeetCode) (leetcode-cn.com) 目录 运行结果 题外话 思路 代码(含注释) 运行结果 题外话 这个是题做得很不痛快,因为题目要求栈push, pop和取得最小元素的时间复杂度都是…

【Kotlin】Gradle中的任务

文章目录编写一个Task任务的依赖Task的生命周期Tasks任务集Gradle的默认任务Gradle属性Gradle默认任务编写一个Task 新建项目 同样把gradle改为我们自己的版本 同上一节一样的,把build.gradle改为build.gradle.kts,这样我们就可以用kotlin语法写东西…

【Kotlin】Gradle的增量式更新

现在目录下有三个java文件,我们要写一个task来保存所有文件名和路径 build.gradle.kts plugins{java }//把所有源代码的文件名称记录下来 task("getSrcName",{doFirst{var srcdir fileTree("src")var infotxt file("info.txt")in…

剑指offer 40. 最小的k个数字

剑指 Offer 40. 最小的k个数 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 目录 利用堆 代码 运行结果 利用快速排序 代码 运行结果 利用堆 代码 #define top 0 #define NOP 0 class Solution {int k; public:vector<int> getLeastNumbers(vector…

【Kotlin】Gradle依赖管理

文章目录普通程序员高级程序员测试时依赖gradle依赖冲突的解决普通程序员 commons-httpclient-3.0-src.zip下载 用Eclipse新建一个kotlin项目&#xff0c;同时新建一个libs文件夹&#xff0c;把jar包放入 然后右键jar包-Build Path-Add to Build Path 官网tutorial 按照官方…

剑指offer II. 数据流的第K大数值

剑指 Offer II 059. 数据流的第 K 大数值 - 力扣&#xff08;LeetCode&#xff09; (leetcode-cn.com) 运行结果 代码 #define MIN 0x80000000 class KthLargest {int* minHeap;int K; public:KthLargest(int k, vector<int>& nums) {K k;minHeap new int[k 1];…

你说的H5到底是什么,跟Html有什么关系,能吃吗

总跟我说H5、H5的&#xff0c;我特么根本不知道你在说什么好吗…如果你身边有人整天说着 h5&#xff0c;就可以问问他&#xff0c;究竟什么是 h5&#xff0c;然后甩给他以下答案 HTML5 我们摘抄W3school中的段落 什么是HTML5 HTML5是下一代的 HTML&#xff0c;HTML5 将成为 …