/*
* 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 + Zookeeper + WebSocket的web应用程序监控工具.zip
共41个文件
java:28个
xml:7个
yml:2个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 105 浏览量
2022-12-01
11:06:57
上传
评论
收藏 85KB ZIP 举报
温馨提示
基于SpringBoot + Zookeeper + WebSocket的web应用程序监控工具.zip
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot + Zookeeper + WebSocket的web应用程序监控工具.zip (41个子文件)
hawkeye-master
pom.xml 2KB
hawkeye-admin
pom.xml 2KB
src
main
resources
logback.xml 1KB
application.yml 96B
java
cn
angelo
hawkeye
admin
init
InitService.java 2KB
zookeeper
NodeChangeListener.java 1KB
ZkConfig.java 445B
HawkEyeAdminApplication.java 327B
websocket
WebSocketServer.java 2KB
hawkeye-spring
pom.xml 2KB
src
main
java
cn
angelo
hawkeye
spring
boot
ExecutorConfig.java 882B
HawkEyeAutoConfiguration.java 3KB
ClusterConfig.java 707B
EnableHawkEye.java 465B
VisibleThreadPoolTaskExecutor.java 2KB
LICENSE 11KB
.gitignore 423B
hawkeye-core
pom.xml 2KB
src
main
java
cn
angelo
hawkeye
core
jvm
JStat.java 847B
zookeeper
ZkWatcher.java 3KB
collector
CpuMetricCollector.java 3KB
AbstractCollector.java 2KB
JvmHeapMemMetricCollector.java 895B
MemMetricCollector.java 2KB
model
CollectorEnum.java 1KB
HeapMemVo.java 3KB
CpuVo.java 2KB
Constant.java 250B
Metric.java 437B
MemVo.java 813B
util
ExecuteCmd.java 2KB
ArrayUtil.java 1KB
CommonUtil.java 840B
BeanUtil.java 2KB
.mvn
wrapper
maven-wrapper.jar 50KB
MavenWrapperDownloader.java 5KB
maven-wrapper.properties 218B
hawkeye-demo
pom.xml 2KB
src
main
resources
logback.xml 1KB
application.yml 213B
java
cn
angelo
hawkeye
demo
HawkEyeDemoApplication.java 391B
共 41 条
- 1
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6649
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功