/*
* 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();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Knife4j官网 一、官网 二、简介 三、快速开始(Spring Boot 2 + OpenAPI2) 四、Spring Boot 2 4.1 OpenAPI2 4.2 OpenAPI3 五、迭代计划 六、介绍 七、实战指南 7.1 Spring单体架构 7.1.1 基于Maven Bom方式使用 7.1.2 SpringMVC框架集成Knife4j 7.1.3 Spring Boot 框架集成Knife4j Knife4j是一个集Swagger2 和 OpenAPI3为一体的增强解决方案 帮助开发者快速聚合使用OpenAPI规范. 基础特性 兼容OpenAPI 2.0 兼容OpenAPI 3.0 框架适配 适配兼容Spring MVC 适配兼容Spring Boot 2.2、2.3、2.4、2.5、2.6、2.7、3.0 适配兼容Spring WebFlux 基于SpringFox2.x版本提供Swagger2规范的增强扩展 基于Springdoc-openapi项目提供OAS3规范的增强扩展 云原生 提供基于K8S+Docker的云原生的聚合OpenAPI文档的解决方案
资源推荐
资源详情
资源评论
收起资源包目录
Knife4j官网(源代码) (319个子文件)
BodyController.class 3KB
Knife4jConfiguration.class 2KB
FileResp.class 1KB
IndexController.class 1KB
Springboot2Knife4jOpanapi3Application.class 851B
Springboot2Knife4jOpenapi2Application.class 851B
SpringbootKnife4jApplication.class 806B
Springboot2Knife4jOpanapi3ApplicationTests.class 649B
Springboot2Knife4jOpenapi2ApplicationTests.class 649B
SpringbootKnife4jApplicationTests.class 604B
mvnw.cmd 7KB
mvnw.cmd 7KB
mvnw.cmd 6KB
.gitignore 395B
.gitignore 395B
.gitignore 333B
.gitignore 256B
.gitignore 256B
.gitignore 184B
springboot2-knife4j-opanapi3.iml 10KB
springboot2-knife4j-openapi2.iml 10KB
springboot-knife4j-quickstart.iml 10KB
maven-wrapper.jar 57KB
maven-wrapper.jar 57KB
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
BodyController.java 2KB
Knife4jConfiguration.java 2KB
IndexController.java 790B
Springboot2Knife4jOpanapi3Application.java 387B
Springboot2Knife4jOpenapi2Application.java 387B
SpringbootKnife4jApplication.java 360B
Springboot2Knife4jOpanapi3ApplicationTests.java 263B
Springboot2Knife4jOpenapi2ApplicationTests.java 263B
SpringbootKnife4jApplicationTests.java 245B
FileResp.java 142B
HELP.md 1KB
HELP.md 1KB
HELP.md 993B
README.md 32B
mvnw 10KB
mvnw 10KB
mvnw 10KB
maven-wrapper.properties 233B
maven-wrapper.properties 233B
maven-wrapper.properties 218B
application.properties 109B
application.properties 109B
workspace.xml 4KB
workspace.xml 4KB
workspace.xml 3KB
pom.xml 3KB
pom.xml 3KB
pom.xml 3KB
compiler.xml 939B
compiler.xml 939B
Maven__org_springframework_boot_spring_boot_configuration_processor_2_7_8.xml 910B
Maven__org_springframework_boot_spring_boot_configuration_processor_2_7_8.xml 910B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml 898B
Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_13_4.xml 898B
Maven__com_github_xiaoymin_knife4j_openapi3_spring_boot_starter_4_0_0.xml 897B
Maven__com_github_xiaoymin_knife4j_openapi2_spring_boot_starter_4_0_0.xml 897B
Maven__org_springframework_plugin_spring_plugin_metadata_2_0_0_RELEASE.xml 883B
compiler.xml 878B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_8.xml 875B
Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_7_8.xml 875B
jarRepositories.xml 874B
jarRepositories.xml 874B
Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_13_4.xml 865B
jarRepositories.xml 864B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 862B
Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml 862B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml 857B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_13_4.xml 857B
Maven__org_springframework_plugin_spring_plugin_core_2_0_0_RELEASE.xml 855B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_8.xml 854B
Maven__org_springframework_boot_spring_boot_starter_logging_2_7_8.xml 854B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_8.xml 847B
Maven__org_springframework_boot_spring_boot_starter_tomcat_2_7_8.xml 847B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml 843B
Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_13_4.xml 843B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_8.xml 840B
Maven__org_springframework_boot_spring_boot_autoconfigure_2_7_8.xml 840B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_8.xml 833B
Maven__org_springframework_boot_spring_boot_starter_json_2_7_8.xml 833B
Maven__org_springframework_boot_spring_boot_starter_test_2_7_8.xml 833B
Maven__org_springframework_boot_spring_boot_starter_json_2_7_8.xml 833B
Maven__org_springdoc_springdoc_openapi_webflux_core_1_6_9.xml 831B
Maven__org_springframework_boot_spring_boot_starter_web_2_7_8.xml 826B
Maven__org_springframework_boot_spring_boot_starter_web_2_7_8.xml 826B
Maven__org_springdoc_springdoc_openapi_webmvc_core_1_6_9.xml 824B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_71.xml 822B
Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_71.xml 822B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml 813B
Maven__com_fasterxml_jackson_core_jackson_annotations_2_13_4.xml 813B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml 806B
Maven__com_fasterxml_jackson_core_jackson_databind_2_13_4_2.xml 806B
Maven__org_springframework_boot_spring_boot_devtools_2_7_8.xml 805B
Maven__org_springframework_boot_spring_boot_devtools_2_7_8.xml 805B
Maven__io_springfox_springfox_bean_validators_2_10_5.xml 799B
共 319 条
- 1
- 2
- 3
- 4
FBIHackerHarry浩
- 粉丝: 3w+
- 资源: 60
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页