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项目方法的更多相关文章

  1. Android Studio导入Eclipse项目的两种方法

    Android Studio导入Eclipse项目有两种方法,一种是直接把Eclipse项目导入Android Studio,另一种是在Eclipse项目里面进行转换,然后再导入Android Stu ...

  2. 建立企业内部mavenserver并使用Android Studio公布公共项目

    由于Android Studio使用了Gradle构建工具,在library依赖的处理上是将被依赖的library作为一个module引入(拥有一份完整的library拷贝),而Eclipse的ADT ...

  3. Mac搭建cocos2dx+Android studio开发环境以及AnySDK的集成

    配置环境: mac osx 10.12.6 cocos2dx 3.14 Android studio 2.3 目标: 在mac上配置cocos Android开发环境,接入AnySDK 配置: 1.安 ...

  4. 《Android Studio开发实战 从零基础到App上线》资源下载和内容勘误

    转载于:https://blog.csdn.net/aqi00/article/details/73065392 资源下载 下面是<Android Studio开发实战 从零基础到App上线&g ...

  5. Android Studio开发-高效插件强烈推荐

    Android Studio开发-高效插件强烈推荐 现在Android的开发者基本上都使用Android Studio进行开发(如果你还在使用eclipse那也行,毕竟你乐意怎么样都行).使用好And ...

  6. 安装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日 ...

  7. 使用 Android Studio 开发 widget 安卓桌面插件

    •What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...

  8. Android studio导入eclipse项目且不改变目录结构

    Android studio的安装与配置论坛当中已经有很多在此就不在细说了,现在开始说下如何在Android studio当中导入eclipse的项目且不改变其目录结构和配置,让使用eclipse的同 ...

  9. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

随机推荐

  1. 【转】一个URL编码和解码的C++类

    下面的代码实现了一个用于C++中转码的类strCoding.里面有UTF8.UNICODE.GB2312编码的互相转换. .H文件: #pragma once #include <iostrea ...

  2. Linux-Apache+Mysql+PHP+PHPWind(重点Apache+PHP集成环境)

    整理Apache+Mysql+PHP+PHPWind(Apache+PHP集成环境) 一.情况简述: 1.虚拟机VM上面CentOS 2.全部yum安装(yum安装与源码安装的安装路径不同) 二.操作 ...

  3. GlusterFS特性介绍

    下面是GlusterFS的一些特性 规范的接口 GlusterFS服务器与POSIX兼容,使用支持文件扩展属性的磁盘文件系统(如ext4.XFS)来存储磁盘上的数据.同时,可以通过业界标准的访问协议如 ...

  4. spring HibernateValidator 验证 子类不起作用

    spring HibernateValidator 验证 子类不起作用,在要验证的子类前加上@Valid即可. public class UserInfo { private int Id; @Val ...

  5. phonegap ios默认启动页

    phonegap创建的项目默认的启动界面是phonegap的图标,想去掉这个图标,有两个方法,第一就是将resourece下面的splash文件下面的图片改成自己想要的启动页面,名字要相同,替换掉它默 ...

  6. wcscpy wcscpy_s strcpy strcpy_s的区别

    原型声明:extern char *strcpy(char *dest,const char *src); 头文件:string.h 功能:把从src地址开始且含有NULL结束符的字符串赋值到以des ...

  7. 开源项目:FFmpeg

    ffmpeg命令行使用 将JPG格式图片转成YUV420P格式: ffmpeg -i Z:\demo\pic.jpg -s 720x480 Z:\demo\pic.yuv 解码H265成YUV420 ...

  8. WP8_(windows phone环境下)上传文件从C#到php接口

    在windows phone环境下,将手机上的图片上传到服务端(php环境): 注意事项:在上传的地方,头文件中name,例如name= img,则在php服务端处理时 ,需要约定好 存取一致 php ...

  9. javascript之delete操作符

    理解delete 理论 代码段的类型 执行上下文 活动对象 / 变量对象 属性的特性 内置属性与 DontDelete 未声明的赋值 Firebug的困惑 在eval中删除变量 浏览器兼容性 Geck ...

  10. Python之路【第六篇】:socket

    Python之路[第六篇]:socket   Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字&quo ...