最近刚接触gradle和爬虫,把感觉有用的记下来
前提是在eclipse上使用的gradle,本地已经有了一个可以运行的gradle的项目,以下主要介绍怎么把项目部署到服务器上。
普通的Java项目打成jar包或者tar包,Javaweb项目打成war包
1. 普通的Java项目达成jar包或者tar包
apply plugin: 'jar' 或者
plugins {
id 'jar'
}//这两个的意思一样。
build.gradle文件里面再加上 mainClassName = "启动main方法的类所在的位置(包名+class名)"例如:mainClassName = "com.te.auto.Main"
如果需要启动的main方法有多个,可以在Main类里面写个switch(这个参数具体怎么传会在下面说到。),例如:
public static void main(String[] args) {
for(String arg:args){
switch (arg) {
case "1":
ASpider aSpider = new ASpider();
aSpider.runner();
break;
case "2":
CSpider cSpider = new CSpider();
cSpider.runner();
break;
case "3":
PSpider pSpider = new PSpider();
pSpider.runner();
break;
default:
break;
}
}
}
在eclipse的选项栏中找到 window--show view--other--Gradle--Gradle Tasks
点击上面的刷新图标,就能出现当前项目,点击build,就能生成对应的jar包
启动项目:把jar包拷贝到服务器上(jar包在项目根目录/bulid/distributions下),我的放在了home文件夹下,然后输入/home/{jar包的名称}/bin/{jar包的名称} 1 ,就能够运行我的Main类里面的方法。后面加上数字就是传对应的参数了,可以传多个,中间用空格隔开。
2.Javaweb项目打成war包
在build.gradle文件空白处加上
apply plugin: 'war'
sourceCompatibility = 1.8 // 设置 JDK 版本
webAppDirName = 'WebContent' // 设置 WebApp 根目录
compileJava.options.encoding = 'UTF-8'
点击build,就能生成对应的war包
war包在项目根目录/bulid/libs下,直接拷贝到服务器的webapp下就能运行了,不用解压。