android studio编写java项目,并部署到Tomcat服务器
事件回顾:公司需求要自己实现一个即时通讯替换掉现在的第三方即时通讯。于是各种查阅资料,百度之后实现了一个简单的demo(由于本篇不是关于即时通讯的所以就不贴代码了),服务端代码能正常的在本地运行(在android studio中运行一个带有main函数的类),在同一局域网的客户端可以访问到。可是只能在本地运行没用啊,既然是服务端必须要在服务器上运行才行。身为android程序员的我们问题就来了:
一、如何在服务器上运行java
方法一:
服务器在本质上跟我们的电脑一样,所以我们可以直接在服务器上安装android studio。然后就是跟在本地一样的运行代码。
这种方法虽然简单,但是非常不建议。因为服务器资源很宝贵,而且有的服务器是不能安装这些软件的(主流的服务器没有图形界面)。
方法二:
部署到tomcat中,java项目跟web项目部署到服务器有点区别。步骤:
1,将java项目打成jar包。
2,将jar包拷贝到\tomcat\webapps目录下(其实在服务器的任意目录下都行,不一定必须在tomcat目录下)。
3,在这个目录下运行java -jar xxx.jar。
相比方法一,这种方法在所有不同系统的服务器上都行,而且对服务器的内存消耗少,更可行。
二、如何用android studio生成jar包
在android studio中生成jar的方式有很多但都是在对应的module的build.gradle文件中加入代码,根据不同的需求选用相应的方法。
方式一:
然后再运行
在build/libs中查看生成的jar
这种方式生成的jar是不包含第三方jar以及依赖文件的,而且运行java -jar xxx.jar会报错,如下图:
解压这个jar包后发现META-INF文件夹下面的MANIFEST.MF文件没有Main-Class,为其添加这个属性然后替换到jar包中的同名文件。重新运行java -jar serveDemo.jar。
成功!
关于解压jar的方法,可以将其后缀改成zip。将文件修改成功后再改成.jar。这种方法有点麻烦而且jar包中不包含应用的第三方依赖,当你想要将依赖的第三方jar或sdk都打在一起,可以使用下面方法。
方法二:在build.gradle中添加以下代码
然后双击Gradle\Demo\shadow\shadowJar:
同样在build\libs中会生成对应的jar,将jar包放到webApps目录下然后运行java -jar xxxx.jar。一次成功!同样将其解压后可以看到依赖的第三方包也在目录里
我遇到了一个问题就是上面代码注释部分 include(dependency(‘com.alibaba:fastjson:1.2.58’))并不能正常打入jar包中,希望哪位大大能指点一下。最后只能到github上把fastjson.jar下载然后放到libs中,以后遇到同样的问题只能先这么解决。
android studio编写java项目,并部署到Tomcat服务器相关推荐
- Android Studio创建Java项目
我的简书:简书 在使用Android Stduio的过程中,可能需要测试一些java的东西,简单的可以使用Test包中些测试类进行测试,但是毕竟有些java相关的东西无法引用. 那么就需要使用Andr ...
- [Java] 使用Android Studio编写Java测试代码
目录 一.创建"Java or Kotlin Library" 模组. 1.1 新建Android Project. 1.2 新建 "Java or Kotlin Lib ...
- Android Studio编写java工程并生成可执行jar
Android Studio编写java工程并生成可执行jar 1.新建一个空的Android工程 2.新建一个java module 3.添加main方法 4.引用三方jar 5.打包输出为可执行j ...
- androidstudio使用mac字体_如何在Android Studio编写的项目中使用自定义字体
有很多方法可以在字段上设置自定义字体系列,我使用如下所示. 要将字体添加为资源,请在Android Studio中执行以下步骤: 1)右键单击res文件夹,然后转到新建> Android资源目录 ...
- 如何将Java项目打包部署到Linux服务器进行访问
1. 什么是Docker? Docker 是一个开源项目,诞生于 2013 年初, 初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 ...
- 写好的java项目如何部署在公司服务器上,并能让局域网内其他同事访问到,以及遇到的坑!
** 如何把自己写好的代码部署在外部服务器上呢? ** 我用的springboot框架在eclipse中写好的项目 ; 部署的步骤: 1. 修改项目的pom文件,需要改3处(项目jar改成war;添加 ...
- 建一个java项目并部署到weblogic服务器
标签: java / eclipse / weblogic / 6792 编辑 删除 新建一个项目的步骤 打开eclipse,右键点击new–>java project,会出现如下页面.填 ...
- Android Studio编写运行测试纯java代码可带main()函数
问题 小伙伴们在做安卓项目的时候,是不是有时候会忘记某些api的使用方法,不太确定他们的结果是怎样的,需要写一些测试代码,验证看看我们的写法是否正确.刚开始的时候我是在页面上写一个Button,添加点 ...
- 在Android Studio编写代码时,使用MaterialCardView的项目无法正常运行怎么办?简简单单搞定它_莫韵乐与bug的奇妙冒险
在Android Studio编写代码时,使用MaterialCardView布局的项目闪退怎么办?简简单单搞定它 当我想用MaterialCardView去做一个好看的界面的时候,应用居然闪退了 经 ...
最新文章
- reid笔记 yolov5 deepsort
- 【rsyslogd】rsyslog 中 timereported 与 timegenerated 区别
- C++/Cli中事件对象处理函数的添加与删除
- Qt操作Office的一个实例--口算题生成器制作。
- VTK:图像索贝尔Sobel用法实战
- VB用API实现各种对话框(总结)(转载)
- 连接Oracle9i,因字符集造成乱码的解决方法
- Git小乌龟(TortoiseGit)使用详情
- 墨者学院——投票系统程序设计缺陷分析
- Tess4J OCR简单使用教程
- 弘玑Cyclone上榜36氪中国超自动化先锋企业
- ICLR 2020 图神经学习论文汇总
- 如何将pdf转换成txt转换器破解版
- 美国东北大学计算机硕士,美国东北大学计算机硕士
- MySQL 五.索引与算法
- 订单外卖小程序前台后台项目设计
- python数据结构之线性顺序表
- android高德地图上加自定义菜单,自定义UI控件-UI界面定制-开发指南-Android 导航SDK | 高德地图API...
- python从列表中随机抽取n个元素
- 运算符,++,--,*,/和%的运用和区别
热门文章
- ASCII码为160的空格,填坑
- HTTPS协议握手过程见解
- Traditional Recommendation Methods(传统推荐系统CF,MF)
- flask中SQLAlchemy使用MySQL的mediumtext字段类型
- 读取手机联系人简单方法(id,姓名,手机号)
- python 命名管道_命名管道实践
- LeetCode1036. 逃离大迷宫(BFS)
- TypeError: quantize() got an unexpected keyword argument ‘empty_init‘解决方案
- Seve (Radio Edit) 音乐播放器 V 1.0
- linux安装docker教程 centos 7