引入maven
<!--java操控maven命令-->
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>3.0.1</version>
</dependency>
代码:
/**
* @param mavenPath maven系统路径 如D:\apache-maven-3.5.4
* @param pomPath 要操控的pom文件的系统路径 如:D:\coding\**\pom.xml
* @param mavenOrder maven命令如:clean
*/
public void operationMavenOrder(String mavenPath, String pomPath, String mavenOrder) {
InvocationRequest request = new DefaultInvocationRequest();
//想要操控的pom文件的位置
request.setPomFile(new File(pomPath));
//操控的maven命令
request.setGoals(Collections.singletonList(mavenOrder));
Invoker invoker = new DefaultInvoker();
//maven的位置
invoker.setMavenHome(new File(mavenPath));
invoker.setLogger(new PrintStreamLogger(System.err, InvokerLogger.ERROR) {
});
invoker.setOutputHandler(new InvocationOutputHandler() {
@Override
public void consumeLine(String s) throws IOException {
}
});
try {
invoker.execute(request);
} catch (
MavenInvocationException e) {
e.printStackTrace();
}
}