/*
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you 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.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import java.util.Properties;
public class MavenWrapperDownloader {
/**
* 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/0.4.2/maven-wrapper-0.4.2.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 direcrory '" + 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 {
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项目
共40个文件
java:8个
class:7个
xml:7个
需积分: 13 77 下载量 65 浏览量
2020-10-28
15:28:24
上传
评论 10
收藏 76KB ZIP 举报
温馨提示
springboot+maven+mybatis,适用于初学者。 搭建好的框架可以直接拿来用可以拿来直接用
资源推荐
资源详情
资源评论
收起资源包目录
springboot-demo.zip (40个子文件)
springboot-demo
.gitignore 333B
.project 1KB
.mvn
wrapper
MavenWrapperDownloader.java 5KB
maven-wrapper.jar 47KB
maven-wrapper.properties 116B
pom.xml 2KB
mvnw 9KB
target
generated-test-sources
test-annotations
test-classes
com
chinasoft
controller
SpringbootDemoApplicationTests.class 668B
maven-status
maven-compiler-plugin
compile
default-compile
createdFiles.lst 0B
inputFiles.lst 668B
testCompile
default-testCompile
createdFiles.lst 0B
inputFiles.lst 132B
generated-sources
annotations
classes
application.yml 238B
META-INF
maven
com.chinasoft
springboot-demo
pom.xml 2KB
pom.properties 267B
com
chinasoft
biz
UsersBiz.class 200B
impl
UsersBizImpl.class 1KB
dao
UsersMapper.class 786B
UsersMapper.xml 3KB
controller
UsersController.class 1KB
SpringbootDemoApplication.class 1KB
entity
Users.class 1KB
mybatis-config.xml 271B
.settings
org.eclipse.core.resources.prefs 155B
org.eclipse.jdt.core.prefs 243B
org.eclipse.wst.common.project.facet.core.xml 145B
org.eclipse.m2e.core.prefs 97B
src
test
java
com
chinasoft
controller
SpringbootDemoApplicationTests.java 349B
main
resources
application.yml 238B
static
mybatis-config.xml 271B
templates
java
com
chinasoft
biz
UsersBiz.java 155B
impl
UsersBizImpl.java 778B
dao
UsersMapper.java 670B
UsersMapper.xml 3KB
controller
UsersController.java 744B
SpringbootDemoApplication.java 806B
entity
Users.java 670B
mvnw.cmd 6KB
HELP.md 1KB
.classpath 1KB
共 40 条
- 1
资源评论
菜鸟bella
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功