1.将仓库中不含jar的错误文件夹删除,再重新reimport
package com.wang.util.maven;
import java.io.File;
/**
* 将仓库中不含jar的错误文件夹删除,再重新reimport
*/
public class MavenCleanUtil {
static String root = "E:\\Maven\\14Maven\\Maven_repository";// 仓库根目录
public static void main(String[] args) {
File file = new File(root);
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
validate(_file);
}
}
}
public static boolean validate(File file) {
boolean isHaveJar = false;
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
// 判断是否有*jar 是否是有文件夹
for (File _file : _files) {
if (_file.getName().endsWith(".jar")) {
isHaveJar = true;
}
if (_file.isDirectory()) {
boolean isNextHaveJar = validate(_file);
if (isNextHaveJar) {
isHaveJar = true;
}
}
}
}
if (!isHaveJar) {
delete(file);
}
return isHaveJar;
}
public static void delete(File file) {
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
if (_file.isDirectory()) {
delete(_file);
}
System.out.println("文件:"+_file.getAbsolutePath()+"被删除");
_file.delete();
}
System.out.println("文件夹:"+file.getAbsolutePath()+"被删除");
file.delete();
} else {
System.out.println("文件夹:"+file.getAbsolutePath()+"被删除");
file.delete();
}
}
}
2.删除指定的文件夹
ctrl+c即可复制,粘贴到jarNames字符串,用逗号隔开
```java
package com.wang.util.maven;
import sun.util.logging.resources.logging;
import java.io.File;
/**
* 删除指定的文件夹
*/
public class CleanJars {
//复制的依赖路径
static String jarNames="org.springframework.boot:spring-boot-starter-web:2.1.8.RELEASE" +
",org.springframework.boot:spring-boot-starter-test:2.1.8.RELEASE" +
",org.springframework.boot:spring-boot-starter-thymeleaf:2.1.8.RELEASE" +
",org.apache.shiro:shiro-spring:1.4.0" +
",com.alibaba:druid:1.0.9" +
",mysql:mysql-connector-java:8.0.17" +
",org.mybatis.spring.boot:mybatis-spring-boot-starter:1.1.1" +
",org.springframework.boot:spring-boot-starter-logging:2.1.8.RELEASE" +
",org.projectlombok:lombok:1.18.6" +
",com.github.theborakompanioni:thymeleaf-extras-shiro:2.0.0";
static String rootPath="E:\\Maven\\14Maven\\Maven_repository\\";//maven仓库目录
public static void main(String[] args) {
deleteJars(jarNames);
}
public static void deleteJars(String jarNames){
String[] split = jarNames.split(",");
for (String str : split) {
String substringPre = str.substring(0,str.indexOf(":")).replace(".","\\");
String substringAfter = str.substring(str.indexOf(":")).replace(":","\\");
String realPath = rootPath + substringPre + substringAfter;
File file = new File(realPath);
System.out.println(realPath);
if(file.isDirectory()){
delete(file);
}else{
file.delete();
}
}
}
public static void delete(File file) {
File[] _files = file.listFiles();
if (_files != null && _files.length > 0) {
for (File _file : _files) {
if (_file.isDirectory()) {
delete(_file);
}
System.out.println("文件:"+_file.getAbsolutePath()+"被删除");
_file.delete();
}
System.out.println("文件夹1:"+file.getAbsolutePath()+"被删除");
file.delete();
} else {
System.out.println("文件夹2:"+file.getAbsolutePath()+"被删除");
file.delete();
}
}
}