使用Android Studio开发J2SE项目方法
0、前言
最近因为要为项目开发一个底层的Java应用,所以非常偶然的遇到了这样一个问题,过去Eclipse有Java Project而现在手头使用Android Studio并不能直接建立Java应用项目。所以在网上搜集和整合了些资料后发现其实Android Studio也能很完美的支持Java应用项目的开发,所以写这样一篇博客分享给有同样需要的Coder。
1、J2EE项目的建立
Android Studio中并不能直接建立Java项目,所以比较简单偷懒的办法是先随便建一个Android项目,然后再给Project添加一个Java Library Module,这样就你的项目中就有了一个Java模块,你在Android Studio的Gradle窗口中可以找到build、jar之类的Task,运行这些Task即可构建与打包,但需要注意,这时并不能直接运行该Java模块,因为并没有为这个模块建立运行脚本。
2、为Java Library建立运行脚本
如果你要将Java Library模块转换为一个可以直接运行的Application模块,其实非常简单,只要点击Run菜单中的Edit Configurations,然后在左侧可以看到若干的运行脚本,点击左上角的“+”,然后加入一个Application配置,然后选中新加的配置,可以看到其中有Main Class(指定你的Main方法类啦)、VM Option(可以设置堆大小之类的)、Program Arguments(可以设置运行参数)、Use Classpath of Module(设置关联哪个Module的ClassPath)还有是否开启Form截图、是否使用自定义JRE之类的。
那我我们一般需要做的事情,首先,要将Main Class设置为你Java Library Module中期望运行的那个带main方法的类,其次要将Use Classpath of Module设置为你建的那个Java Library Module,这样就基本完成了一个执行脚本的配置。
然后还需要做一件事情就是在Gradle中设置Main Class,打开Java Library Module中的build.gradle文件,将其改为如下:
apply plugin: 'java'
apply plugin: 'application' mainClassName = 'org.hanos.java.MainApplication' dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
需要注意其中的application插件与mainClassName,完成这一步后,试试运行新建的脚本吧~~
3、为Java Library打可执行的Jar包
这个其实非常简单,只需要修改build.gradle即可:
apply plugin: 'java'
apply plugin: 'application' mainClassName = 'org.hanos.java.MainApplication' jar {
manifest {
attributes 'Main-Class': mainClassName
}
baseName = 'HFrameJava'
version = '0.1.0'
} dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
}
其中,manifest表示所需要打的Jar包中的清单需要加入一些什么属性,可执行jar包需要加上Main-Class指明运行的主方法类,baseName表示打出jar包的名称,version表示版本号,完成这个build.gradle的编写后,sync项目,然后执行jar task即可在<Module>/build/outputs/libs中找到jar包
好的,基本上Android Studio开发Java Application所需要的内容就在这里了,如果有新的发现,欢迎大家留言补充,谢谢~
使用Android Studio开发J2SE项目方法的更多相关文章
- Android Studio导入Eclipse项目的两种方法
Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...
- 建立企业内部mavenserver并使用Android Studio公布公共项目
由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT ...
- Mac搭建cocos2dx+Android studio开发环境以及AnySDK的集成
配置环境: mac osx 10.12.6 cocos2dx 3.14 Android studio 2.3 目标: 在mac上配置cocos Android开发环境,接入AnySDK 配置: 1.安 ...
- 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误
转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...
- Android Studio开发-高效插件强烈推荐
Android Studio开发-高效插件强烈推荐 现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行).使用好And ...
- 安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法
安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法 原创 2015年07月31日 ...
- 使用 Android Studio 开发 widget 安卓桌面插件
•What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...
- Android studio导入eclipse项目且不改变目录结构
Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同 ...
- Android studio 开发环境搭建
Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...
随机推荐
- 【转】一个URL编码和解码的C++类
下面的代码实现了一个用于C++中转码的类strCoding.里面有UTF8.UNICODE.GB2312编码的互相转换. .H文件: #pragma once #include <iostrea ...
- Linux-Apache+Mysql+PHP+PHPWind(重点Apache+PHP集成环境)
整理Apache+Mysql+PHP+PHPWind(Apache+PHP集成环境) 一.情况简述: 1.虚拟机VM上面CentOS 2.全部yum安装(yum安装与源码安装的安装路径不同) 二.操作 ...
- GlusterFS特性介绍
下面是GlusterFS的一些特性 规范的接口 GlusterFS服务器与POSIX兼容,使用支持文件扩展属性的磁盘文件系统(如ext4.XFS)来存储磁盘上的数据.同时,可以通过业界标准的访问协议如 ...
- spring HibernateValidator 验证 子类不起作用
spring HibernateValidator 验证 子类不起作用,在要验证的子类前加上@Valid即可. public class UserInfo { private int Id; @Val ...
- phonegap ios默认启动页
phonegap创建的项目默认的启动界面是phonegap的图标,想去掉这个图标,有两个方法,第一就是将resourece下面的splash文件下面的图片改成自己想要的启动页面,名字要相同,替换掉它默 ...
- wcscpy wcscpy_s strcpy strcpy_s的区别
原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以des ...
- 开源项目:FFmpeg
ffmpeg命令行使用 将JPG格式图片转成YUV420P格式: ffmpeg -i Z:\demo\pic.jpg -s 720x480 Z:\demo\pic.yuv 解码H265成YUV420 ...
- WP8_(windows phone环境下)上传文件从C#到php接口
在windows phone环境下,将手机上的图片上传到服务端(php环境): 注意事项:在上传的地方,头文件中name,例如name= img,则在php服务端处理时 ,需要约定好 存取一致 php ...
- javascript之delete操作符
理解delete 理论 代码段的类型 执行上下文 活动对象 / 变量对象 属性的特性 内置属性与 DontDelete 未声明的赋值 Firebug的困惑 在eval中删除变量 浏览器兼容性 Geck ...
- Python之路【第六篇】:socket
Python之路[第六篇]:socket Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字&quo ...