tomcat+redis共享session所需jar包生成过程

第一步:liunx下载源文件和gradle构建工具,后拷贝到windows下

wget https://github.com/jcoleman/tomcat-redis-session-manager/archive/master.zip

wget http://services.gradle.org/distributions/gradle-4.5-rc-2-bin.zip

第二步:解压并设置windows环境变量

解压文件并存放到相应的目录,例如D:\1.BlueDev\gradle-4.5-rc-2和e:\tomcat-redis-session-manager-master下

GRADLE_HOME=D:\1.BlueDev\gradle-4.5-rc-2

在PATH中增加“%GRADLE_HOME%\bin”

第三步:在目录e:\tomcat-redis-session-manager-master下找到源码中的 build.gradle 文件,由于作者使用了第三方仓库(sonatype),需要注册帐号,太麻烦,注释后直接使用maven中央仓库,同时注释签名相关脚本并增加依赖包的输出脚本 copyJars(dist目录),修改后的 build.gradle 文件如下::

apply plugin: 'java'  
apply plugin: 'maven'  
apply plugin: 'signing'  
 
group = 'com.orangefunction'  
version = '2.0.0'  
 
repositories {  
  mavenCentral()  
}  
 
compileJava {  
  sourceCompatibility = 1.7  
  targetCompatibility = 1.7  
}  
 
dependencies {  
  compile group: 'org.apache.tomcat', name: 'tomcat-catalina', version: '7.0.27'  
  compile group: 'redis.clients', name: 'jedis', version: '2.5.2'  
  compile group: 'org.apache.commons', name: 'commons-pool2', version: '2.2'  
  //compile group: 'commons-codec', name: 'commons-codec', version: '1.9'  
 
  testCompile group: 'junit', name: 'junit', version: '4.+'  
  testCompile 'org.hamcrest:hamcrest-core:1.3'  
  testCompile 'org.hamcrest:hamcrest-library:1.3'  
  testCompile 'org.mockito:mockito-all:1.9.5'  
  testCompile group: 'org.apache.tomcat', name: 'tomcat-coyote', version: '7.0.27'  
}  
 
task javadocJar(type: Jar, dependsOn: javadoc) {  
  classifier = 'javadoc'  
  from 'build/docs/javadoc'  
}  
 
task sourcesJar(type: Jar) {  
  from sourceSets.main.allSource  
  classifier = 'sources'  
}  
 
artifacts {  
  archives jar  
 
  archives javadocJar  
  archives sourcesJar  
}  
 
//signing {  
//  sign configurations.archives  
//}  
 
task copyJars(type: Copy) {  
  from configurations.runtime  
  into 'dist'    
}  
 
uploadArchives {  
  repositories {  
    mavenDeployer {  
      beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }  
 
      //repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {  
      //  authentication(userName: sonatypeUsername, password: sonatypePassword)  
      //}  
      //repository(url: "https://oss.sonatype.org/content/repositories/snapshots") {  
      //  authentication(userName: sonatypeUsername, password: sonatypePassword)  
      //}  
 
      pom.project {  
        name 'tomcat-redis-session-manager'  
        packaging 'jar'  
        description 'Tomcat Redis Session Manager is a Tomcat extension to store sessions in Redis'  
        url 'https://github.com/jcoleman/tomcat-redis-session-manager'  
 
        issueManagement {  
          url 'https://github.com:jcoleman/tomcat-redis-session-manager/issues'  
          system 'GitHub Issues'  
        }  
 
        scm {  
          url 'https://github.com:jcoleman/tomcat-redis-session-manager'  
          connection 'scm:git:git://github.com/jcoleman/tomcat-redis-session-manager.git'  
          developerConnection 'scm:git:[email protected]:jcoleman/tomcat-redis-session-manager.git'  
        }  
 
        licenses {  
          license {  
            name 'MIT'  
            url 'http://opensource.org/licenses/MIT'  
            distribution 'repo'  
          }  
        }  
 
        developers {  
          developer {  
            id 'jcoleman'  
            name 'James Coleman'  
            email '[email protected]'  
            url 'https://github.com/jcoleman'  
          }  
        }  
      }  
    }  
  }  
}

第四步:执行gradle构建工具

执行前,先确定安装了java1.7,并设置了变量JAVA_HOME

执行命令:gradle build -x test  copyJars

tomcat+redis共享session所需jar包生成过程

第五步:查看结果:

E:\tomcat-redis-session-manager-master\dist

tomcat+redis共享session所需jar包生成过程

tomcat+redis共享session所需jar包生成过程

第六步:把上面的文件jar和下面的tomcat-redis-session-manager-master-2.0.0.jar放在一起就结束了。

结果包:tomcat+redis共享session