/*
* 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();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot+Druid+MyBatis实现多数据源切换 (353个子文件)
FrendImplService.class 5KB
ComboTransaction.class 4KB
MultiTransactionAop.class 3KB
DynamicDataSourcePlugin.class 2KB
WMyBatisConfig.class 2KB
RMyBatisConfig.class 2KB
FrendController.class 2KB
Frend.class 2KB
Frend.class 2KB
Frend.class 2KB
FrendController.class 2KB
DataSourceConfig.class 2KB
DynamicDataSource.class 2KB
FrendController.class 2KB
DynamicDataSourceAspect.class 1KB
FrendImplService.class 1KB
Db1TxBroker.class 1KB
Db2TxBroker.class 1KB
FrendImplService.class 1KB
DynamicDatasourceApplication.class 996B
DynamicMybatisApplication.class 978B
DynamicDatasourceApplication.class 902B
RFrendMapper.class 620B
WFrendMapper.class 620B
DynamicMybatisApplicationTests.class 603B
FrendMapper.class 592B
FrendMapper.class 592B
DynamicDatasourceApplicationTests.class 574B
DynamicDatasourceApplicationTests.class 574B
FrendService.class 554B
MultiTransactional.class 532B
DbTxConstants.class 517B
WR.class 474B
FrendService.class 369B
FrendService.class 369B
mvnw.cmd 7KB
mvnw.cmd 6KB
mvnw.cmd 6KB
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 131B
.gitignore 131B
.gitignore 131B
dynamic_datasource.iml 10KB
01-dynamic_datasource.iml 10KB
dynamic_datasource_framework.iml 9KB
dynamic_mybatis.iml 9KB
02-dynamic_mybatis.iml 9KB
dynamic_datasource.iml 9KB
springboot_dynamicdatasouce.iml 344B
maven-wrapper.jar 57KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
FrendImplService.java 3KB
WMyBatisConfig.java 3KB
DataSourceConfig.java 2KB
RMyBatisConfig.java 2KB
DynamicDataSourcePlugin.java 2KB
DynamicDataSource.java 2KB
FrendController.java 1KB
ComboTransaction.java 1KB
MultiTransactionAop.java 1KB
FrendController.java 1KB
FrendImplService.java 1KB
FrendController.java 1KB
FrendImplService.java 1KB
DynamicDataSourceAspect.java 974B
DynamicDatasourceApplication.java 662B
DynamicDatasourceApplication.java 607B
DynamicMybatisApplication.java 597B
Db1TxBroker.java 581B
Db2TxBroker.java 581B
FrendService.java 554B
RFrendMapper.java 504B
WFrendMapper.java 504B
FrendMapper.java 487B
FrendMapper.java 487B
WR.java 474B
FrendService.java 370B
FrendService.java 317B
DynamicMybatisApplicationTests.java 246B
MultiTransactional.java 246B
Frend.java 238B
DbTxConstants.java 235B
Frend.java 231B
Frend.java 231B
DynamicDatasourceApplicationTests.java 230B
DynamicDatasourceApplicationTests.java 230B
HELP.md 1KB
HELP.md 1KB
HELP.md 1KB
mvnw 10KB
mvnw 10KB
mvnw 10KB
maven-wrapper.properties 233B
maven-wrapper.properties 218B
maven-wrapper.properties 218B
共 353 条
- 1
- 2
- 3
- 4
资源评论
小悟空GK
- 粉丝: 206
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功