idea 跑java项目,IDEA发布Java工程到Linux环境运行

本文介绍了如何在IDEA中导出不同类型的Java项目,包括普通Java项目、Maven项目和Gradle项目,并详细阐述了每个项目的导出步骤和运行方式。针对Gradle项目,特别提到了Application插件的使用以及解决GBK编码问题的方法。最后,文章还提醒了在Linux服务器上运行Java应用的注意事项。
摘要由CSDN通过智能技术生成

0x0000 前言

由于之前接触Java是一直玩的Android,或者上Java课时很简单的在Eclipse中写点小程序,现在接触了Java写后端程序,跟之前的做法有些大不一样了。项目编写完了,在IDEA中运行的倒好,导出却踩了不少坑。这里介绍三种Java工程的导出方法,记录一下。一般情况下,我们会使用Maven或者Gradle来创建并管理Java工程,当然也有原生的Java工程。

0x0001 普通Java项目

此种Java项目就是最基础的,没有用到任何项目管理工具或者仓库的。此种工程项目文件结构比较简单,但是导出需要自行配置。

进入File->Project Structure 添加一个Artifacts。 Artifacts代表一个打包项目。

ea7be3e176fbf3d2d01b46ee7b90fef6.png

然后需要添加你所依赖的Jar文件,设置主类。

5392a8bf6c6658f8ea7c61e300504bf5.png

接下来,如果一切正常,你就可以通过Build->Build Artifacts找到你刚刚创建的Artifacts。

db5fcc6f78bdbc412523ec800eba1d7a.png

可以看到,现在可以选择Build或者Rebuild进行构建,也可以Clean清除构建的jar包。

7437cd51a68d5ba8b0996ada9eb95573.png

构建完成后,jar包会在项目的out/artifacts目录下。上传到服务器,使用 java -jar xxxx.jar命令运行即可。

0x0002 Maven项目

使用Maven构建的项目比较常见,如果你使用Spring或SpringBoot那么肯定会用到Maven。使用Maven构建的一大好处就是依赖配置非常方便,不用手动下载jar包,直接在pom.xml中进行配置就行。

而使用Maven的工程构建导出jar包也比较容易。我们直接在IDEA中找到Maven窗口(一般在右边,如果你没有乱动过的话),选择package进行构建。

8c315f9404c5fbe8ef94776ca78b2e4f.png

使用Maven构建的jar会生成在项目的target目录下。在服务器上运行方式同普通的java项目,使用jar命令即可。

0x0003 Gradle项目

如果你也开发Android,那么会比较熟悉Gradle,我们在Android中用到过。只不过Gradle导出Java项目和Android还是有很大区别。

这里介绍一种常用方法,通过Gradle插件Application进行构建。如果想要其他方法的小伙伴也可以在网络上搜索资料。

我们需要在Gradle项目的配置文件,即build.gradle中添加如下配置来启用Application插件并设置程序入口主类。

设置完成后,我们便可以在IDEA的Gradle窗口中找到application->run和distribution->assembieDist/distTar/distZip/installDist了

33bf23f4897ee403a13d6edca38aab92.png

这里介绍一下各个Task的不同之处:

- run: 在IDEA中运行项目

- distTar: 构建项目,生成一个Tar包 在项目的build/distributions目录下

- distTar: 构建项目,生成一个Zip包 在项目的build/distributions目录下

- assembieDist:构建项目,相当于同时执行了distTar和distZip

- installDist: 构建项目,生成一个目录 在项目的build/install目录下

我们可以看到,通过这种方式生成的工程是一个目录,包含了执行脚本和所有jar文件。项目的jar文件和引用到的jar包是分开的,因此需要执行脚本来启动。

- bin目录 包含两个执行脚本,.bat脚本在Dos环境(windows)使用,无后缀的其实是.sh脚本,在Unix环境运行

- lib目录 项目导出的jar和依赖的jar文件,注意他们是分开的

因此想要在Linux服务器上运行,我们可以使用distTar导出一个Tar压缩包,在服务器上使用tar -xvf xxxx.tar进行解压,然后进入bin目录,执行./xxxx脚本即可。

0x0004 GBK编码的坑

如果使用IDEA进行开发,Gradle进行编译构建,有可能会报出这样的错误错误: 编码GBK的不可映射字符

这是因为Gradle默认使用了GBK编码进行编译。而IDEA中是UTF-8编码,如果不是UTF-8编码可能也会出现乱码,所以强烈建议编程环境就使用UTF-8。

IDEA设置编码在File->Settings->Editor->File Encodings中

f975e76dbd046674971de9bf4ce5629b.png

然后我们需要在build.gradle中添加如下配置,设置编码为UTF-8

现在再进行构建就不会报错了。

Comments

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值