使用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 ...
随机推荐
- 解决“C:\Windows\System32\ntdll.dll”。无法查找或打开 PDB 文件问题
这些提示的问题完全没有必要去理会,因为一般情况下你点击本地windows调试,会报出这样问题很正常. 网上一些介绍什么要去选项卡栏勾选window连接器什么鬼,不建议用该方式,一旦你勾选那个方式虽然不 ...
- 学习笔记-解析xml文件
1. Dom4J <students> <student> <name>吴飞</name> <c ...
- 3.5 The Lexical-Analyzer Generator Lex
3.5 The Lexical-Analyzer Generator Lex In this section, we introduce a tool called Lex, or in a more ...
- COM 学习(五)——编译、注册、调用
"最小依赖",表示编译器会把 ATL 中必须使用的一些函数静态连接到目标程序中.这样目标文件尺寸会稍大,但独立性更强,安装方便:反之系统执行的时候需要有 ATL.DLL 文件的支持 ...
- Java基础——多线程
Java中多线程的应用是非常多的,我们在Java中又该如何去创建线程呢? http://www.jianshu.com/p/40d4c7aebd66 一.常用的有三种方法来创建多线程 新建一个类继承自 ...
- java中HashMap的用法
重点介绍HashMap.首先介绍一下什么是Map.在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value.在下文中会 ...
- LINQ标准查询操作符详解(转)
一. 关于LINQ LINQ 英文全称是“Language-Integrated Query”,中文为“语言集成查询”,它是微软首席架构师.Delphi 之父和C# 之父——Anders ...
- iOS地址编码解析
- (void)viewDidLoad { [super viewDidLoad]; // 创建地址解析器 self.geocoder = [[CLGeocoder alloc] init]; } - ...
- namespace的用法
C++中采用的是单一的全局变量命名空间.在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突.当然,你也可以使用不同的名字,但有时我们并不知道另一个变量也使用完全相同的名字:有时为了程序 ...
- c++ boost--------------boost::progress_timer小试。
//--------------------------------------------------------------------------- #include <vcl.h> ...