/*
* 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();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
mybatis-plus QueryWrapper条件查询器 (114个子文件)
TkBean.class 6KB
TkController.class 2KB
DemoApplication.class 1KB
DemoApplicationTests.class 531B
TkDao.class 290B
mvnw.cmd 6KB
.gitignore 395B
.gitignore 184B
mybatis-plus-01.iml 10KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
TkController.java 2KB
DemoApplication.java 770B
TkBean.java 755B
DemoApplicationTests.java 215B
TkDao.java 188B
login.jsp 394B
HELP.md 972B
mvnw 10KB
application.properties 567B
application.properties 531B
maven-wrapper.properties 218B
workspace.xml 8KB
pom.xml 3KB
jarRepositories.xml 864B
compiler.xml 836B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_11_3.xml 736B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_4_1.xml 713B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 700B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_11_3.xml 695B
Maven__org_springframework_boot_spring_boot_starter_logging_2_4_1.xml 692B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_4_1.xml 685B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_11_3.xml 681B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_4_1.xml 678B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_4_1.xml 671B
Maven__org_springframework_boot_spring_boot_starter_json_2_4_1.xml 671B
Maven__org_springframework_boot_spring_boot_starter_test_2_4_1.xml 671B
Maven__org_springframework_boot_spring_boot_starter_web_2_4_1.xml 664B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_41.xml 660B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_11_3.xml 651B
Maven__org_apache_tomcat_embed_tomcat_embed_jasper_9_0_41.xml 639B
Maven__org_springframework_boot_spring_boot_starter_2_4_1.xml 636B
Maven__org_apache_tomcat_tomcat_annotations_api_9_0_41.xml 636B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 633B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 633B
Maven__org_junit_platform_junit_platform_commons_1_7_0.xml 633B
Maven__com_baomidou_mybatis_plus_boot_starter_3_4_1.xml 630B
Maven__com_fasterxml_jackson_core_jackson_databind_2_11_3.xml 630B
Maven__org_junit_platform_junit_platform_engine_1_7_0.xml 626B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_41.xml 625B
Maven__com_baomidou_mybatis_plus_annotation_3_4_1.xml 616B
Maven__org_junit_jupiter_junit_jupiter_params_5_7_0.xml 615B
Maven__org_junit_jupiter_junit_jupiter_engine_5_7_0.xml 615B
Maven__org_springframework_boot_spring_boot_test_2_4_1.xml 615B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_41.xml 611B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 611B
Maven__com_baomidou_mybatis_plus_extension_3_4_1.xml 609B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_13_3.xml 608B
Maven__org_mockito_mockito_junit_jupiter_3_6_28.xml 605B
Maven__com_fasterxml_jackson_core_jackson_core_2_11_3.xml 602B
Maven__org_springframework_spring_expression_5_3_2.xml 602B
Maven__org_junit_jupiter_junit_jupiter_api_5_7_0.xml 594B
Maven__net_bytebuddy_byte_buddy_agent_1_10_18.xml 585B
Maven__org_springframework_spring_context_5_3_2.xml 581B
Maven__org_springframework_boot_spring_boot_2_4_1.xml 580B
Maven__javax_servlet_javax_servlet_api_4_0_1.xml 578B
Maven__com_baomidou_mybatis_plus_core_3_4_1.xml 574B
Maven__mysql_mysql_connector_java_8_0_22.xml 574B
Maven__org_springframework_spring_webmvc_5_3_2.xml 574B
Maven__org_apache_logging_log4j_log4j_api_2_13_3.xml 573B
Maven__org_apiguardian_apiguardian_api_1_1_0.xml 572B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 568B
Maven__org_springframework_spring_beans_5_3_2.xml 567B
Maven__org_junit_jupiter_junit_jupiter_5_7_0.xml 566B
Maven__org_springframework_spring_jdbc_5_3_2.xml 560B
Maven__org_springframework_spring_core_5_3_2.xml 560B
Maven__org_springframework_spring_test_5_3_2.xml 560B
Maven__org_springframework_spring_aop_5_3_2.xml 553B
Maven__org_springframework_spring_jcl_5_3_2.xml 553B
Maven__org_springframework_spring_web_5_3_2.xml 553B
Maven__org_mybatis_mybatis_spring_2_0_5.xml 549B
Maven__com_github_jsqlparser_jsqlparser_3_2.xml 547B
Maven__ch_qos_logback_logback_core_1_2_3.xml 547B
Maven__com_jayway_jsonpath_json_path_2_4_0.xml 546B
Maven__org_springframework_spring_tx_5_3_2.xml 546B
Maven__net_bytebuddy_byte_buddy_1_10_18.xml 543B
Maven__org_mockito_mockito_core_3_6_28.xml 542B
Maven__org_assertj_assertj_core_3_18_1.xml 542B
Maven__net_minidev_accessors_smart_1_2.xml 542B
Maven__com_baomidou_mybatis_plus_3_4_1.xml 539B
Maven__org_skyscreamer_jsonassert_1_5_0.xml 537B
Maven__org_xmlunit_xmlunit_core_2_7_0.xml 535B
Maven__org_slf4j_jul_to_slf4j_1_7_30.xml 534B
Maven__org_opentest4j_opentest4j_1_2_0.xml 533B
Maven__org_projectlombok_lombok_1_18_16.xml 531B
Maven__org_glassfish_jakarta_el_3_0_3.xml 529B
Maven__org_slf4j_slf4j_api_1_7_30.xml 513B
Maven__org_objenesis_objenesis_3_1.xml 508B
Maven__net_minidev_json_smart_2_3.xml 507B
Maven__com_zaxxer_HikariCP_3_4_5.xml 503B
共 114 条
- 1
- 2
技术工厂_Tony
- 粉丝: 7
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0