Author Archives: Robins

Why use thread pools? Remember and understand

1. Reduce cost and improve efficiency

Reduce the time of thread creation and destruction and the overhead of system resources;

At the same time, it improves the response speed of the system. When a new task arrives, it can be executed immediately by reusing the existing thread without waiting for the creation of a new thread.

2. Improve the manageability of threads

It is convenient to control the number of concurrent threads. Unlimited thread creation may lead to excessive memory consumption, resulting in oom, and will cause excessive CPU switching. There is a time cost for CPU switching threads: it is necessary to keep the scene of the current thread and restore the scene of the thread to be executed.

It can allocate, tune and monitor threads in a unified way, so as to improve the response speed, and provide more powerful functions, such as delaying and timing thread pool.

 

Nginx front end and back end separation + service cluster reverse proxy

1. Scene

Nginx implements the separation of front and back end, and the reverse proxy of service cluster.

2. Nginx configuration instance

upstream portal-system {
       server 127.0.0.1:8061 max_fails=3 fail_timeout=30s;
       server 172.31.88.30:8061 max_fails=3 fail_timeout=30s;
}

server {
        listen       80;
        server_name  47.102.168.177;
        root /opt/pages/dispatch-portal-system/;

       location/{
         proxy_set_header Host $host:$server_port;
         proxy_pass   http://portal-system;
       }

       location /images/ {
         alias  /opt/images/dispatch-portal-system/;
       }
       
       location /favicon.ico {
         root /opt/images/dispatch-portal-system/;
       }
       
       location /api/user/updateImage/ {
          proxy_set_header Host $host:$server_port;
          proxy_pass   http://127.0.0.1:8061/;
       }

       location   =/{
          root /opt/pages/dispatch-portal-system/;
          add_header Cache-Control "no-cache, no-store";
       }
	   
        location /index.html {
          root  /opt/pages/dispatch-portal-system/;
          add_header Cache-Control "no-cache, no-store";
        }

        location /static/ {
          root  /opt/pages/dispatch-portal-system/;
        }

}

 

NxL job cluster nginx routing forwarding and reverse proxy

1. Scene

Two servers are deployed with XXL job respectively to build a high availability cluster

Provide easy request URL

2. Nginx configuration

 upstream xxl-jobs {
        server 192.168.30.01:9500 max_fails=3 fail_timeout=30s;
        server 192.168.30.02:9500 max_fails=3 fail_timeout=30s;
    }

     server {
        listen    8888;
        server_name  localhost;
        location/{
            proxy_pass http://xxl-jobs;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

Use jstack to output the stack information in Java process to the specified file and analyze it

1. Printing stack information using jstack command

jstack -l pid >> thread.txt

Parameter: – l long lists to print out additional lock information. Jstack – L PID can be used to observe the lock holding status when a deadlock occurs

Examples

jstack -l 7052 >> thread.txt

2. Analyze stack information

take thread.txt Download it locally and use IBM thread and monitor dump analyzer for Java to open the analysis

Update project manually_ Solution of too large jar package in springboot

1. Problem scenario

Project update, upload the entire jar package, too large, resulting in long upload time, update or upgrade too slow.

2. Solutions

1) Store jars that are not updated frequently in a separate folder LIBS.

2) Frequently updated jars are typed as one jar.

3、 pom.xml to configure

1) The final jar package contains the updated jar package

2) Folder LIBS kicks out jars that are often updated

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>${project.build.directory}/libs</outputDirectory>
                            <overWriteIfNewer>true</overWriteIfNewer>
                            <includeScope>runtime</includeScope>
                            <excludeGroupIds>com.mp,com.mp.common.spring,com.mp.common.util</excludeGroupIds>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>com.mp</groupId>
                            <artifactId>mp-dispatch-service-api</artifactId>
                        </include>
                        <include>
                            <groupId>com.mp.common.spring</groupId>
                            <artifactId>common-spring-jpa</artifactId>
                        </include>
                        <include>
                            <groupId>com.mp.common.spring</groupId>
                            <artifactId>common-spring-base</artifactId>
                        </include>
                        <include>
                            <groupId>com.mp.common.util</groupId>
                            <artifactId>common-util</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                            <goal>build-info</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
        </plugins>
    </build>

 

Nginx reverse proxy MySQL

1. Scene

Mysql database in the pure Intranet environment, no public IP, no VPN.

2. Programme

Install nginx on a server with public IP and in the same Intranet environment with MySQL service to realize the routing and forwarding of MySQL access.

3. Nginx installation

Nginx version needs 1.9 or above. Nginx not only implements HTTP reverse proxy, but also supports TCP reverse proxy.

1) When compiling nginx, you need to add the parameter — with stream to load NGX_ stream_ core_ Module

Examples

./configure –prefix=/opt/software/nginx –with-http_ stub_ status_ module –with-http_ ssl_ module –with-stream –with-stream_ ssl_ module –with-pcre=/usr/local/src/pcre-8.35

4. Nginx configuration file nginx.conf

Monitor port 3307 with public IP server, and jump to port 3306 of 172.31.88.27.

Special note: stream should be in the same level directory as HTTP

stream {
    upstream mysql3306 {
        hash $remote_addr consistent;
        server 172.31.88.27:3306 weight=5 max_fails=3 fail_timeout=30s;
    }
	
	 server {
        listen 3307;
        proxy_connect_timeout 10s;
        proxy_timeout 200s;
        proxy_pass mysql3306;
    }
}

 

The local program cannot access the test environment redis cluster through public IP_ compromise

First, scene description

1. Test environment installation redis6, cluster deployment, three master and three slave. That is to achieve high concurrency, high availability, high security.

2. Redis creates clusters through bind intranet IP.

3. The local and test environment are not in the same LAN, and there is no VPN, so it is impossible to access redis through the test intranet IP.

4. Note: through the redis client, using the public IP + port, you can access redis.

Problem: spring program can’t access redis correctly through IP + port of public network.

Reason: when spring accesses the redis cluster, it first obtains the intranet IP and ports of all nodes in the redis cluster through the configured public IP and ports, and then the program finally accesses redis through the intranet IP and ports.

Second, the solution

1. Install the redis singleton on the test server.

2. Configuration file redis.conf Set daemonize to yes, that is to realize the background startup of redis.

3. In the test environment network security group, add the white list of local environment public IP, open port 6379.

4. Modify the local configuration file in spring program to access redis configuration mode. In this way, all technicians can connect to the test environment redis locally, and each technology does not need to open the redis service locally.

spring:
  redis:
    host: 47.112.108.1
    port: 6379
    timeout: 5000ms
  pool:
    max-active: 8
    min-idle: 0
    max-idle: 8
    max-wait: -1

 

System architecture and product design of resource scheduling platform

Resource scheduling system, using spring boot to build system framework, spring cloud to achieve governance among multiple services, Eureka to achieve micro service registration and discovery, spring Data realizes the persistent management of all kinds of data; uses multi thread concurrent computing to improve system throughput and efficiency; uses thread asynchronous processing of ancillary business; uses asynchronous monitoring to reduce coupling; uses redis cache technology to reduce database pressure and improve system performance and response rate.

        Based on distributed job, multithread computing and asynchronous monitoring, it realizes the automatic scheduling of resources needed by business, the timing collection of task progress, the calculation of processing rate, the effective prediction of task end time, and the monitoring of resource usage and progress; it uses image to display resource usage to realize real-time monitoring of resources; it has a comprehensive resource usage monitoring mechanism and complete monitoring system Good server heartbeat detection mechanism, and support email early warning.

 

 

 

 

[Solved] Selenium.common.exceptions.WebDriverException: Message: newSession

This is the error reported:

Traceback (most recent call last):
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\twisted\internet\defer.py", line 1386, in _inlineCallbacks
    result = g.send(result)
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\scrapy\crawler.py", line 81, in crawl
    start_requests = iter(self.spider.start_requests())
  File "D:\python--\scrapytest\Scripts\scrapypy3\Scripts\ArticleSpider\ArticleSpider\spiders\zhihu.py", line 68, in start_requests
    browser = webdriver.Firefox(executable_path="D:/python--/geckodriver.exe")
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 162, in __init__
    keep_alive=True)
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 154, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 243, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "D:\python-professional-workplace\pycharm projest\ArticleSpider\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: newSession

Solution:

1. The browser I use is Firefox. The main reason is that the version of geckodriver is too low, and the version of the browser is 64.0.

Update to v0.23.0: https://github.com/mozilla/geckodriver/releases

Put the downloaded geckodriver.exe into the Scripts folder under the python installation path.

Note: I set up a virtual environment, so geckodriver.exe is placed in a folder under the virtual environment, not under the scripts file.

2. Update the version of selenium (I updated the selenium first and then updated the geckodriver, so I am not sure if only updating geckodriver is useful, but only updating selenium is useless)

They are:

pip show selenium
python -m pip install --upgrade pip
pip install -U selenium

After the update, update selenium in pycharm.

How to Solve Gradle Error: Plugin with id ‘jetty’ not found.

In a web project, jetty is used. When building the project with gradle, I found the prompt Plugin with id’jetty’ not found. That is, the plug-in could not be found.

The Groovy code is as follows:

apply plugin: 'java'
apply plugin: 'war'
apply plugin: 'jetty'
 
repositories {
	mavenCentral()
}
 
dependencies {
	providedCompile 'javax.servlet:servlet-api:2.5',
					'javax.servlet.jsp:jsp-api:2.1'
	runtime 'javax.servlet:jstl:1.1.2',
			'taglibs:standard:1.1.2'
}

The prompt is as follows

FAILURE: Build failed with an exception.

* Where:
Build file ‘H:\gradleCode\test\build.gradle’ line: 3

* What went wrong:
A problem occurred evaluating root project ‘test’.
> Plugin with id ‘jetty’ not found.

* Try:
Run with –stacktrace option to get the stack trace. Run with –info or –debug option
to get more log output. Run with –scan to get full insights.

* Get more help at https://help.gradle.org

I went to the official website and found a post https://discuss.gradle.org/t/gradle2-still-cant-specify-jetty-version/5069

It is said that jetty cannot specify a specific version in Gradle 1.x, but my hint is that this plug-in is not found at all, I am very confused. . . .

Someone in the post said that I recommend a third-party library gretty. I tried it and it succeeded.

If you are using Gradle version 2.1 or higher, just these few lines of code will do.

plugins {
  id "org.akhikhl.gretty" version "2.0.0"
}

Otherwise, write a few more lines:

buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.org.akhikhl.gretty:gretty:2.0.0"
  }
}
 
apply plugin: "org.akhikhl.gretty"

This is my build.gradle:

apply plugin: 'java'
apply plugin: 'war'
buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "gradle.plugin.org.akhikhl.gretty:gretty:2.0.0"
  }
}
 
apply plugin: "org.akhikhl.gretty"
repositories {
	jcenter()
}
 
dependencies {
	providedCompile 'javax.servlet:servlet-api:2.5',
					'javax.servlet.jsp:jsp-api:2.1'
	runtime 'javax.servlet:jstl:1.1.2',
			'taglibs:standard:1.1.2'
}

The results of the operation are as follows:

gradle build

 

Download https://plugins.gradle.org/m2/gradle/plugin/org/akhikhl/gretty/gretty/2.0.0/gr
etty-2.0.0.pom
Download https://plugins.gradle.org/m2/org/akhikhl/gretty/gretty-core/2.0.0/gretty-core
-2.0.0.pom
Download https://plugins.gradle.org/m2/org/eclipse/jetty/jetty-util/8.1.8.v20121106/jet
ty-util-8.1.8.v20121106.pom
Download https://plugins.gradle.org/m2/org/eclipse/jetty/jetty-project/8.1.8.v20121106/
jetty-project-8.1.8.v20121106.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-loader-tool
s/1.5.4.RELEASE/spring-boot-loader-tools-1.5.4.RELEASE.pom
Download https://plugins.gradle.org/m2/org/eclipse/jetty/jetty-parent/20/jetty-parent-2
0.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-tools/1.5.4
.RELEASE/spring-boot-tools-1.5.4.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-parent/1.5.
4.RELEASE/spring-boot-parent-1.5.4.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-dependencie
s/1.5.4.RELEASE/spring-boot-dependencies-1.5.4.RELEASE.pom
Download https://plugins.gradle.org/m2/com/fasterxml/jackson/jackson-bom/2.8.8/jackson-
bom-2.8.8.pom
Download https://plugins.gradle.org/m2/com/fasterxml/jackson/jackson-parent/2.8/jackson
-parent-2.8.pom
Download https://plugins.gradle.org/m2/com/fasterxml/oss-parent/27/oss-parent-27.pom
Download https://plugins.gradle.org/m2/org/apache/logging/log4j/log4j-bom/2.7/log4j-bom
-2.7.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-framework-bom/4.3.9.R
ELEASE/spring-framework-bom-4.3.9.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/data/spring-data-releasetrai
n/Ingalls-SR4/spring-data-releasetrain-Ingalls-SR4.pom
Download https://plugins.gradle.org/m2/org/springframework/data/build/spring-data-build
/1.9.4.RELEASE/spring-data-build-1.9.4.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/integration/spring-integrati
on-bom/4.3.10.RELEASE/spring-integration-bom-4.3.10.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/security/spring-security-bom
/4.2.3.RELEASE/spring-security-bom-4.2.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/codehaus/groovy/groovy/2.4.11/groovy-2.4.11.
pom
Download https://plugins.gradle.org/m2/org/codehaus/groovy/groovy-json/2.4.11/groovy-js
on-2.4.11.pom
Download https://plugins.gradle.org/m2/commons-cli/commons-cli/1.2/commons-cli-1.2.pom
Download https://plugins.gradle.org/m2/commons-configuration/commons-configuration/1.10
/commons-configuration-1.10.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/11/commons-par
ent-11.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-lang3/3.3.2/commons-l
ang3-3.3.2.pom
Download https://plugins.gradle.org/m2/org/apache/servicemix/bundles/org.apache.service
mix.bundles.bcprov-jdk16/1.46_3/org.apache.servicemix.bundles.bcprov-jdk16-1.46_3.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/32/commons-par
ent-32.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/33/commons-par
ent-33.pom
Download https://plugins.gradle.org/m2/org/apache/servicemix/bundles/bundles-pom/8/bund
les-pom-8.pom
Download https://plugins.gradle.org/m2/org/apache/apache/13/apache-13.pom
Download https://plugins.gradle.org/m2/org/apache/servicemix/servicemix-pom/5/servicemi
x-pom-5.pom
Download https://plugins.gradle.org/m2/org/apache/apache/4/apache-4.pom
Download https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.pom
Download https://plugins.gradle.org/m2/org/apache/apache/7/apache-7.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-devtools/1.
3.3.RELEASE/spring-boot-devtools-1.3.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/25/commons-par
ent-25.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-parent/1.3.
3.RELEASE/spring-boot-parent-1.3.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-dependencie
s/1.3.3.RELEASE/spring-boot-dependencies-1.3.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-framework-bom/4.2.5.R
ELEASE/spring-framework-bom-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/data/spring-data-releasetrai
n/Gosling-SR4/spring-data-releasetrain-Gosling-SR4.pom
Download https://plugins.gradle.org/m2/org/springframework/data/build/spring-data-build
/1.7.4.RELEASE/spring-data-build-1.7.4.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/integration/spring-integrati
on-bom/4.2.5.RELEASE/spring-integration-bom-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/security/spring-security-bom
/4.0.3.RELEASE/spring-security-bom-4.0.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-core/4.3.9.RELEASE/sp
ring-core-4.3.9.RELEASE.pom
Download https://plugins.gradle.org/m2/commons-lang/commons-lang/2.6/commons-lang-2.6.p
om
Download https://plugins.gradle.org/m2/commons-logging/commons-logging/1.1.1/commons-lo
gging-1.1.1.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/17/commons-par
ent-17.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/5/commons-pare
nt-5.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-autoconfigu
re/1.3.3.RELEASE/spring-boot-autoconfigure-1.3.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot/1.3.3.RELEA
SE/spring-boot-1.3.3.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-context/4.2.5.RELEASE
/spring-context-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-expression/4.2.5.RELE
ASE/spring-expression-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-aop/4.2.5.RELEASE/spr
ing-aop-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/org/springframework/spring-beans/4.2.5.RELEASE/s
pring-beans-4.2.5.RELEASE.pom
Download https://plugins.gradle.org/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.pom
Download https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-logg
ing-1.2.pom
Download https://plugins.gradle.org/m2/org/apache/commons/commons-parent/34/commons-par
ent-34.pom
Download https://plugins.gradle.org/m2/gradle/plugin/org/akhikhl/gretty/gretty/2.0.0/gr
etty-2.0.0.jar
Download https://plugins.gradle.org/m2/org/akhikhl/gretty/gretty-core/2.0.0/gretty-core
-2.0.0.jar
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-loader-tool
s/1.5.4.RELEASE/spring-boot-loader-tools-1.5.4.RELEASE.jar
Download https://plugins.gradle.org/m2/org/eclipse/jetty/jetty-util/8.1.8.v20121106/jet
ty-util-8.1.8.v20121106.jar
Download https://plugins.gradle.org/m2/org/codehaus/groovy/groovy/2.4.11/groovy-2.4.11.
jar
Download https://plugins.gradle.org/m2/commons-cli/commons-cli/1.2/commons-cli-1.2.jar
Download https://plugins.gradle.org/m2/commons-configuration/commons-configuration/1.10
/commons-configuration-1.10.jar
Download https://plugins.gradle.org/m2/commons-io/commons-io/2.4/commons-io-2.4.jar
Download https://plugins.gradle.org/m2/org/apache/commons/commons-lang3/3.3.2/commons-l
ang3-3.3.2.jar
Download https://plugins.gradle.org/m2/org/apache/servicemix/bundles/org.apache.service
mix.bundles.bcprov-jdk16/1.46_3/org.apache.servicemix.bundles.bcprov-jdk16-1.46_3.jar
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-autoconfigu
re/1.3.3.RELEASE/spring-boot-autoconfigure-1.3.3.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot-devtools/1.
3.3.RELEASE/spring-boot-devtools-1.3.3.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/spring-context/4.2.5.RELEASE
/spring-context-4.2.5.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/boot/spring-boot/1.3.3.RELEA
SE/spring-boot-1.3.3.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/spring-aop/4.2.5.RELEASE/spr
ing-aop-4.2.5.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/spring-beans/4.2.5.RELEASE/s
pring-beans-4.2.5.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/spring-expression/4.2.5.RELE
ASE/spring-expression-4.2.5.RELEASE.jar
Download https://plugins.gradle.org/m2/org/springframework/spring-core/4.3.9.RELEASE/sp
ring-core-4.3.9.RELEASE.jar
Download https://plugins.gradle.org/m2/commons-logging/commons-logging/1.2/commons-logg
ing-1.2.jar
Download https://plugins.gradle.org/m2/commons-lang/commons-lang/2.6/commons-lang-2.6.j
ar
Download https://plugins.gradle.org/m2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
Download https://plugins.gradle.org/m2/org/codehaus/groovy/groovy-json/2.4.11/groovy-js
on-2.4.11.jar
Download https://jcenter.bintray.com/javax/websocket/javax.websocket-api/1.0/javax.webs
ocket-api-1.0.pom
Download https://jcenter.bintray.com/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.pom
Download https://jcenter.bintray.com/javax/servlet/servlet-api/2.5/servlet-api-2.5.pom
Download https://jcenter.bintray.com/javax/servlet/javax.servlet-api/3.1.0/javax.servle
t-api-3.1.0.pom
Download https://jcenter.bintray.com/javax/websocket/javax.websocket-all/1.0/javax.webs
ocket-all-1.0.pom
Download https://jcenter.bintray.com/net/java/jvnet-parent/3/jvnet-parent-3.pom
Download https://jcenter.bintray.com/net/java/jvnet-parent/4/jvnet-parent-4.pom
Download https://jcenter.bintray.com/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar
Download https://jcenter.bintray.com/javax/websocket/javax.websocket-api/1.0/javax.webs
ocket-api-1.0.jar
Download https://jcenter.bintray.com/javax/servlet/jsp/jsp-api/2.1/jsp-api-2.1.jar
Download https://jcenter.bintray.com/javax/servlet/javax.servlet-api/3.1.0/javax.servle
t-api-3.1.0.jar
Download https://jcenter.bintray.com/javax/servlet/jstl/1.1.2/jstl-1.1.2.pom
Download https://jcenter.bintray.com/taglibs/standard/1.1.2/standard-1.1.2.pom
Download https://jcenter.bintray.com/javax/servlet/jstl/1.1.2/jstl-1.1.2.jar
Download https://jcenter.bintray.com/taglibs/standard/1.1.2/standard-1.1.2.jar
BUILD SUCCESSFUL in 1m 5s
2 actionable tasks: 2 executed