/*
* 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();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
SpringCloud与五大组件的整合.zip
共318个文件
xml:223个
java:30个
class:25个
5星 · 超过95%的资源 需积分: 49 49 下载量 181 浏览量
2020-05-03
20:22:56
上传
评论
收藏 476KB ZIP 举报
温馨提示
这是一个简单的SpringCloud整合五大组件注册中心Eureka、负载均衡Ribbon、熔断器Hystrix、伪装Feign、服务网关Zuu,旨在认识这五大组件,以及这五大组件该如何使用
资源推荐
资源详情
资源评论
收起资源包目录
SpringCloud与五大组件的整合.zip (318个子文件)
User.class 3KB
User.class 3KB
User.class 3KB
UserDao.class 2KB
ConsumerDemoApplicationTests.class 2KB
LoginFilter.class 2KB
UserService.class 2KB
UserController.class 2KB
UserController.class 1KB
ConsumerDemoApplication.class 1KB
ConsumerController.class 1KB
UserService.class 1KB
UserService.class 979B
UserFeignClientFallback.class 946B
Producer2DemoApplication.class 944B
ProducerDemoApplication.class 941B
ZuulDemoApplication.class 887B
EurekaDemoApplication.class 836B
UserFeignClient.class 656B
Producer2DemoApplicationTests.class 582B
ProducerDemoApplicationTests.class 569B
EurekaDemoApplicationTests.class 559B
ZuulDemoApplicationTests.class 549B
UserMapper.class 282B
UserMapper.class 282B
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
.gitignore 333B
.gitignore 333B
.gitignore 333B
.gitignore 333B
.gitignore 333B
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
LoginFilter.java 2KB
UserDao.java 1KB
ConsumerDemoApplication.java 1KB
UserService.java 909B
UserController.java 873B
UserController.java 844B
ConsumerDemoApplicationTests.java 843B
ConsumerController.java 766B
UserService.java 678B
ProducerDemoApplication.java 598B
ZuulDemoApplication.java 572B
Producer2DemoApplication.java 532B
UserFeignClient.java 524B
User.java 512B
User.java 512B
User.java 512B
UserService.java 475B
UserFeignClientFallback.java 430B
EurekaDemoApplication.java 429B
Producer2DemoApplicationTests.java 236B
ProducerDemoApplicationTests.java 230B
EurekaDemoApplicationTests.java 226B
ZuulDemoApplicationTests.java 222B
UserMapper.java 184B
UserMapper.java 184B
HELP.md 1KB
HELP.md 1KB
HELP.md 780B
HELP.md 496B
HELP.md 310B
mvnw 10KB
mvnw 10KB
mvnw 10KB
mvnw 10KB
mvnw 10KB
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
workspace.xml 50KB
workspace.xml 22KB
misc.xml 12KB
misc.xml 12KB
uiDesigner.xml 9KB
pom.xml 4KB
pom.xml 3KB
pom.xml 3KB
pom.xml 2KB
pom.xml 2KB
Project_Default.xml 2KB
Project_Default.xml 2KB
compiler.xml 1KB
compiler.xml 1KB
Maven__org_springframework_cloud_spring_cloud_starter_netflix_eureka_client_2_2_2_RELEASE.xml 857B
共 318 条
- 1
- 2
- 3
- 4
资源评论
- 张盛锋2023-07-25通过这个文件,我对SpringCloud与五大组件的整合有了更深入的了解。
- 小小二-yan2023-07-25这个文件整合了SpringCloud与五大组件,非常实用,值得一看。
- daidaiyijiu2023-07-25这个文件简单明了地介绍了SpringCloud与五大组件的整合方式,非常易于理解。
- SLHJ-Translator2023-07-25这个文件提供了关于SpringCloud与五大组件的整合方法,很有帮助。
- 一曲歌长安2023-07-25对于对SpringCloud和五大组件感兴趣的人来说,这个文件是一个很好的参考资料。
慕沐.
- 粉丝: 327
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功