gradle实战

bat即输出到屏幕又输出到文件

用到一个脚本文件

toolkit.wsf

<job id="tee">
    <script language="JScript">
        var fso = new ActiveXObject('Scripting.FileSystemObject');
        var log = fso.CreateTextFile(WScript.Arguments(0));
        var stdin = WScript.StdIn;
        var stdout = WScript.StdOut;
        while (!stdin.AtEndOfStream) {
             var str = stdin.ReadLine();
             stdout.WriteLine(str);
             log.WriteLine(str);
        }
        log.Close();
    </script>
</job>

tee.bat
@cscript /nologo //Job:tee "%~dp0toolkit.wsf" "%1"

call gradle clean jettyRun  2>&1 | "%~dp0\tee" "%~dp0stdout.log"

实现文件上传进度条的javaweb工程之gradle实战
项目目录结构如下:.
├─scripts
└─src
    ├─main
    │  ├─java
    │  │  └─com
    │  │      └─hongfei
    │  │          ├─entity
    │  │          ├─lister
    │  │          └─servlet
    │  ├─resources
    │  └─webapp
    │      ├─js
    │      ├─META-INF
    │      ├─upload
    │      └─WEB-INF
    └─test
        ├─java
        └─resources
build.gradle文件的内容如下:
运行时必须先执行create_dirs创建src,

apply plugin: "war"
apply plugin: "eclipse"
apply plugin: "jetty"
//清除eclipse输出
task cleanEclipseOutput(type: Delete) {
  delete eclipse.classpath.defaultOutputDir
}

//创建src
task create_dirs << {
   sourceSets*.java.srcDirs*.each { it.mkdirs() }
   sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

dependencies {
  compile "commons-io:commons-io:2.0.1"
  compile "commons-fileupload:commons-fileupload:1.2.2"
  providedCompile "javax.servlet:servlet-api:2.5"
}
//cleanEclipseOutput-task必须放在这句话的前面
jettyRun.dependsOn cleanEclipseOutput

repositories {
		maven {
			url "http://localhost:8081/nexus/content/groups/public/"
		}
		mavenCentral name:'codehaus', artifactUrls: ["http://repository.codehaus.org/"]
		mavenCentral name:'ibiblio', artifactUrls: ["http://mirrors.ibiblio.org/pub/mirrors/maven2/"]
		mavenCentral name:'apache', artifactUrls: ["http://people.apache.org/repo/m2-ibiblio-rsync-repository/"]
		mavenCentral name:'maven', artifactUrls: ["http://repo2.maven.org/maven2/"]
		mavenCentral name:'lds', artifactUrls: ["https://code.lds.org/nexus/content/repositories/thirdparty/"]
		mavenCentral name:'m2m', artifactUrls: ["http://repository.m2m.io:8081/nexus/content/groups/public/"]
}
jettyRun {
  httpPort = 9080
  contextPath = ''
  classpath = files(eclipse.classpath.defaultOutputDir) + classpath
  reload = 'manual'
}

运行时必须先执行create_dirs创建src;

在依赖(dependencies)中添加j2ee环境支持providedCompile "javax.servlet:servlet-api:2.5"

jettyRun.dependsOn cleanEclipseOutput,是在jetty运行时清空eclipse输出。

jettyRun {
  httpPort = 9080
  contextPath = ''
  classpath = files(eclipse.classpath.defaultOutputDir) + classpath
  reload = 'manual'
  //scanIntervalSeconds = 1
}

设置9080为jetty端口

contextPath为路径

项目辅助bat脚本如下:

build-gradle.bat:

@echo off
cd ..
gradle create_dirs build eclipse 2>&1 1>log.txt  2>>log.txt  1>>con   2>>con & pause

cleanup-gradle.bat:

@echo off
cd ..

gradle cleanEclipse clean 2>&1 1>log.txt  2>>log.txt  1>>con   2>>con & rmdir /s /q .gradle & pause

jettyRun-gradle.bat:

@echo off

cd ..
set GRADLE_OPTS=-Xmx512m -XX:MaxPermSize=512m -Xdebug -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n
set GRADLE_USER_HOME=%UserProfile%\.gradle-p2p-pro-app

gradle jettyRun 2>&1 1>log.txt  2>>log.txt  1>>con   2>>con & pause

设置jetty的运行内存和远程调试端口号

start-gradle.bat(启动eclipse,必须设置setenv.bat):

@echo off
call "%~dp0setenv"
cd ..
start "ECLIPSE" "%ECLIPSE_HOME%\eclipse.exe" -vm "%JAVA_HOME%\bin\javaw.exe"


setenv.bat:

set JAVA_HOME=E:\tools\jdk1.6
set GRADLE_HOME=E:\tools\gradle-1.9
set ECLIPSE_HOME=E:\tools\eclipse ee\eclipse
set PATH=%JAVA_HOME%\bin;%GRADLE_HOME%\bin;%PATH%

项目下载地址:

http://download.csdn.net/detail/yx511500623/7536827

--------------------------------------------------------------------------------

下面为注意事项:

ajax文件上传可以考虑用:

jquery.form.js示例如下:

$("#uploadSub").click(function(){
	 	var reg=new RegExp("(.gif|.png|.jpg|.jpeg|.bmp|.ico)$");
	 	if(!reg.test($("#uploadFile").val().toLowerCase())){
	 		alert("请上传图片类型");
	 		return;
	 	}
	 	   if($("#creditMaterialType").val()=='') {
	 	      alert("请选择影像件类型");
	 	      return;
	 	   }
		var options = {
	                      url : "uploadMaterial.action",  
	                      type : "POST",
	                      success : function(msg) {
		                        $("#maters").append("<tr><td>"+$("#creditMaterialType").find("option:selected").text()+"</td><td><img src='creditMaterial.action?urlpath="+msg+"'/></td></tr>");
	                      }
	                  };
	    $("#upload_form").ajaxSubmit(options);//绑定页面中form表单的id  
	    return false;
	});

//解决编译乱码
[compileJava, javadoc, compileTestJava]*.options*.encoding = 'UTF-8'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值