/*
* 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实战开发代码.zip
共131个文件
xml:102个
java:10个
class:9个
5星 · 超过95%的资源 需积分: 50 18 下载量 90 浏览量
2020-03-31
20:35:22
上传
评论 1
收藏 127KB ZIP 举报
温馨提示
博客:https://blog.csdn.net/weixin_44519467/article/details/105229950 源码可用于项目中套用并自行拓展
资源推荐
资源详情
资源评论
收起资源包目录
SpringBoot实战开发代码.zip (131个子文件)
CategoryServiceImplTest.class 3KB
ProductCategory.class 3KB
ProductCategoryDaoTest.class 3KB
CategoryServiceImpl.class 2KB
LogbackTest.class 1KB
CategoryService.class 743B
DemoApplication.class 733B
ProductCategoryDao.class 591B
DemoApplicationTests.class 531B
mvnw.cmd 6KB
.gitignore 333B
demo.iml 12KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
CategoryServiceImplTest.java 2KB
ProductCategoryDaoTest.java 2KB
CategoryServiceImpl.java 1KB
LogbackTest.java 587B
CategoryService.java 562B
ProductCategory.java 444B
ProductCategoryDao.java 347B
DemoApplication.java 317B
DemoApplicationTests.java 215B
mr_wen.md 1KB
HELP.md 780B
mvnw 10KB
application.properties 293B
application.properties 291B
maven-wrapper.properties 218B
workspace.xml 8KB
pom.xml 2KB
logback-spring.xml 2KB
logback-spring.xml 2KB
Project_Default.xml 1KB
compiler.xml 802B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_6_RELEASE.xml 775B
Maven__org_springframework_boot_spring_boot_starter_validation_2_2_6_RELEASE.xml 775B
Maven__org_springframework_boot_spring_boot_starter_data_jpa_2_2_6_RELEASE.xml 761B
Maven__org_springframework_boot_spring_boot_starter_logging_2_2_6_RELEASE.xml 754B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_6_RELEASE.xml 747B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_3.xml 742B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_6_RELEASE.xml 740B
Maven__org_hibernate_common_hibernate_commons_annotations_5_1_0_Final.xml 738B
Maven__org_springframework_boot_spring_boot_starter_json_2_2_6_RELEASE.xml 733B
Maven__org_springframework_boot_spring_boot_starter_test_2_2_6_RELEASE.xml 733B
Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_6_RELEASE.xml 733B
Maven__org_springframework_boot_spring_boot_starter_web_2_2_6_RELEASE.xml 726B
Maven__org_springframework_boot_spring_boot_starter_aop_2_2_6_RELEASE.xml 726B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 706B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_3.xml 701B
Maven__org_springframework_boot_spring_boot_starter_2_2_6_RELEASE.xml 698B
Maven__org_springframework_data_spring_data_commons_2_2_6_RELEASE.xml 698B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_3.xml 687B
Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml 687B
Maven__org_springframework_boot_spring_boot_test_2_2_6_RELEASE.xml 677B
Maven__org_springframework_data_spring_data_jpa_2_2_6_RELEASE.xml 670B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_33.xml 666B
Maven__org_springframework_spring_expression_5_2_5_RELEASE.xml 664B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_3.xml 657B
Maven__jakarta_persistence_jakarta_persistence_api_2_2_3.xml 650B
Maven__jakarta_transaction_jakarta_transaction_api_1_3_3.xml 650B
Maven__org_springframework_spring_context_5_2_5_RELEASE.xml 643B
Maven__org_springframework_spring_aspects_5_2_5_RELEASE.xml 643B
Maven__org_springframework_boot_spring_boot_2_2_6_RELEASE.xml 642B
Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml 639B
Maven__org_junit_platform_junit_platform_commons_1_5_2.xml 639B
Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml 639B
Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml 639B
Maven__com_fasterxml_jackson_core_jackson_databind_2_10_3.xml 636B
Maven__org_springframework_spring_webmvc_5_2_5_RELEASE.xml 636B
Maven__org_junit_platform_junit_platform_engine_1_5_2.xml 632B
Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_33.xml 631B
Maven__org_springframework_spring_beans_5_2_5_RELEASE.xml 629B
Maven__com_sun_istack_istack_commons_runtime_3_0_8.xml 623B
Maven__org_springframework_spring_jdbc_5_2_5_RELEASE.xml 622B
Maven__org_springframework_spring_core_5_2_5_RELEASE.xml 622B
Maven__org_springframework_spring_test_5_2_5_RELEASE.xml 622B
Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml 621B
Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml 621B
Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml 621B
Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_3.xml 617B
Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_33.xml 617B
Maven__org_springframework_spring_web_5_2_5_RELEASE.xml 615B
Maven__org_springframework_spring_jcl_5_2_5_RELEASE.xml 615B
Maven__org_springframework_spring_aop_5_2_5_RELEASE.xml 615B
Maven__org_springframework_spring_orm_5_2_5_RELEASE.xml 615B
Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml 614B
Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml 614B
Maven__org_hibernate_hibernate_core_5_4_12_Final.xml 612B
Maven__org_springframework_spring_tx_5_2_5_RELEASE.xml 608B
Maven__com_fasterxml_jackson_core_jackson_core_2_10_3.xml 608B
Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml 604B
Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml 600B
Maven__com_sun_xml_fastinfoset_FastInfoset_1_2_16.xml 589B
Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml 584B
Maven__mysql_mysql_connector_java_8_0_19.xml 580B
Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml 579B
Maven__org_apiguardian_apiguardian_api_1_1_0.xml 578B
Maven__ch_qos_logback_logback_classic_1_2_3.xml 574B
Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml 572B
共 131 条
- 1
- 2
资源评论
- 食色也2023-07-24对于那些想要快速入门SpringBoot的人来说,这个文件是一个不错的选择,简洁明了,易于理解。
- 马李灵珊2023-07-24文件整理得很清晰,代码风格也很统一,对于阅读和理解代码非常友好。
- 五月Eliy2023-07-24这个文件包含了对SpringBoot开发的全面介绍,涵盖了从配置到部署的方方面面。
- maXZero2023-07-24包含在文件中的代码示例很实用,能够帮助我解决了一些在实际项目中遇到的问题。
- ali-122023-07-24这个文件的内容非常丰富,适合初学者入门,也能够满足一些高级开发者的需求。
499ls599
- 粉丝: 193
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- video_20240425_124410_edit.mp4
- IMG_20240425_120538.jpg
- My Complete Genome_6k Base-Pairs of Phenotype SNPs_Complete Raw Data.zip
- qt 的mqtt测试demo
- 移动应用开发教程-zip.zip
- mosquitto-2.018-install-windows-x64
- FTPServer FTP 服务器,绿色免安装,单文件
- 梦畅语音点名软件,上课点名
- 利用ADNI数据集和标签,在tensorflow框架上使用tensorlayer接口,通过架构u-net实现海马体的分割
- Kutools for Word v9.0 office word 插件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功