Directorio artículo
preparativos
-
Nueva carpeta como un espacio de trabajo
-
paquete Jar a ser cargado, Ejemplo: abc-interfaz-1.0.1-SNAPSHOT.jar
-
Crear un archivo
jar-info.txt
- tarro de almacenamiento de archivos con un paquete de información para cargar
- Formato de los datos: [groupId]: [artifactId]: [versión]
- Las cifras por línea, asegúrese de que la información esté completa
- Ejemplos
com.abc.o2o:sss-common:1.0.1-QA-SNAPSHOT com.abc.o2o:sss-interface:1.0.1-RELEASE
-
Crear un archivo de código fuente de Java
UploadToRemoteMvnRepository.java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
/**
* @Author jq.wang
*/
public class UploadToRemoteMvnRepository {
// mvn 上传指令
public static final String mvn_commond_format = "mvn deploy:deploy-file -DgroupId=%s -DartifactId=%s -Dversion=%s -Durl=%s -DrepositoryId=accountId -Dfile=%s";
// mvn 远程仓库地址1
public static final String release_mvn_url = "http://maven.abc.com/release/";
// mvn 远程仓库地址2
public static final String snopshot_mvn_url = "http://maven.abc.com/snaoshots/";
public static void main(String[] args) throws Exception {
try {
// args 参数为jar-info.txt :包含jar信息的文件
if (args == null || args.length == 0) {
return;
}
System.out.println("read file : " + args[0]);
// 读取文件
List<String> commondLines = readFile(args[0]);
// 调用cmd 指令,循环执行mvn上传指令
for (String commondLine : commondLines) {
Runtime.getRuntime().exec("cmd /k start " + commondLine);
Thread.sleep(2000);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// 读取文件
public static List<String> readFile(String fileName) throws IOException {
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
String line = "";
String[] arrs = null;
List<String> mvnCmdList = new ArrayList<>();
// 安装自定义的规则,解析文件; 然后拼接mvn上传的指令,缓存到list中返回
while ((line = br.readLine()) != null) {
//com.abc.o2o:abc-security:1.0.1-SNAPSHOT
arrs = line.split(":");
if (arrs.length != 3)
continue;
String file = arrs[1].concat("-").concat(arrs[2]).concat(".jar");
if (arrs[2].toLowerCase().contains("release")) {
mvnCmdList.add(String.format(mvn_commond_format, arrs[0], arrs[1], arrs[2], release_mvn_url,file));
} else {
mvnCmdList.add(String.format(mvn_commond_format, arrs[0], arrs[1], arrs[2], snopshot_mvn_url,file));
}
}
br.close();
fr.close();
for (String s : mvnCmdList) {
System.out.println(s);
System.out.println();
}
return mvnCmdList;
}
}
- Compilar los archivos de Java:
javac UploadToRemoteMvnRepository.java
generan archivos de clases
corrida
- (1) Ejecutar Java
java UploadToRemoteMvnRepository jar-info.txt
- (2) ejecutar el archivo por lotes
creado el archivo run.bat, el contenido del archivo:
java UploadToRemoteMvnRepository jar-info.txt
pause
Adjuntos: Instrucciones
-
función :
- De acuerdo con el número de versión subido a un almacén mavan diferente, dependiendo de si contienen distinguir LIBERACIÓN
-
prestar atención
- Antes de cargar el paquete será cargado frasco, y ejecutar archivos en el mismo directorio
- tarro de formato de nombre de paquete: [artifactId] - [versión] .jar
- Si necesitas una cuenta antes de que puedan cargar, settings.xml antes de ejecutar la configuración del experto, id es accountId
<server> <id>accountId</id> <username>jq.wang</username> <password>******</password> </server>
-
corrida
- java-jar UploadToRemoteMvnRepository info.txt o run.bat ejecutar directamente
- El resultado: la ejecución de instrucciones de impresión
- Cada paquete de comandos tarro de cargas se muestran en una ventana nueva
- Cada dos segundos para subir un frasco