/*
* Copyright 2007-present the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;
public class MavenWrapperDownloader {
private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";
/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";
/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";
public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());
// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);
File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}
private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
springboot2.0 +zuul gateway + eureka + feign 整合
共115个文件
java:19个
prefs:15个
properties:15个
需积分: 49 28 下载量 74 浏览量
2020-07-24
09:56:07
上传
评论
收藏 318KB ZIP 举报
温馨提示
本demo采用最简单的流程创建一个springboot2.0 +zuul gateway + eureka + feign的调用请求流程,程序下载解压导入就可运行,可自己补充里面的内容
资源推荐
资源详情
资源评论
收起资源包目录
springboot2.0 +zuul gateway + eureka + feign 整合 (115个子文件)
AController.class 1KB
ZuulClientCApplication.class 855B
SpringZuulApplication.class 852B
SpringEurekaApplication.class 802B
ZuulClientBApplication.class 797B
ZuulClientAApplication.class 792B
AController.class 786B
AController.class 786B
SpringEurekaApplicationTests.class 555B
ZuulClientBApplicationTests.class 552B
ZuulClientAApplicationTests.class 552B
ZuulClientCApplicationTests.class 552B
SpringZuulApplicationTests.class 549B
DemoAFeignClient.class 414B
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 1KB
.classpath 1KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
AController.java 709B
DemoAFeignClient.java 492B
ZuulClientCApplication.java 490B
SpringZuulApplication.java 485B
AController.java 442B
AController.java 442B
SpringEurekaApplication.java 416B
ZuulClientBApplication.java 415B
ZuulClientAApplication.java 407B
SpringEurekaApplicationTests.java 214B
ZuulClientAApplicationTests.java 213B
ZuulClientCApplicationTests.java 213B
ZuulClientBApplicationTests.java 213B
SpringZuulApplicationTests.java 212B
HELP.md 2KB
HELP.md 631B
HELP.md 445B
HELP.md 445B
HELP.md 445B
mvnw 10KB
mvnw 10KB
mvnw 10KB
mvnw 10KB
mvnw 10KB
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.jdt.core.prefs 243B
org.eclipse.core.resources.prefs 155B
org.eclipse.core.resources.prefs 155B
org.eclipse.core.resources.prefs 155B
org.eclipse.core.resources.prefs 155B
org.eclipse.core.resources.prefs 155B
org.eclipse.m2e.core.prefs 97B
org.eclipse.m2e.core.prefs 97B
org.eclipse.m2e.core.prefs 97B
org.eclipse.m2e.core.prefs 97B
org.eclipse.m2e.core.prefs 97B
.project 772B
.project 771B
.project 771B
.project 771B
.project 770B
application.properties 428B
application.properties 428B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
application.properties 80B
application.properties 80B
application.properties 79B
application.properties 79B
application.properties 78B
application.properties 78B
application.properties 16B
application.properties 16B
pom.xml 3KB
pom.xml 3KB
共 115 条
- 1
- 2
资源评论
燕_青
- 粉丝: 427
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功