maven依赖
<dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-invoker</artifactId>
<version>3.0.1</version>
</dependency>
编写工具类
package cn.sdu.weblab.util;
import org.apache.maven.shared.invoker.*;
import java.io.File;
import java.io.FilenameFilter;
import java.util.Arrays;
public class MavenBuild {
public static void build(String projectRootPath, String mavenPath) {
InvocationRequest request = new DefaultInvocationRequest();
request.setBaseDirectory(new File(projectRootPath));
request.setGoals(Arrays.asList("clean", "package"));
Invoker invoker = new DefaultInvoker();
invoker.setMavenHome(new File(mavenPath));
try {
InvocationResult res = invoker.execute(request);
if (res.getExitCode() == 0) {
} else {
}
} catch (MavenInvocationException e) {
e.printStackTrace();
}
}
public static File getPackage(String projectRootPath) {
File rootFile = new File(projectRootPath);
File targetFile = new File(rootFile, "target");
File[] files = targetFile.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
String grep = ".*\\.(war|jar)";
return name.matches(grep);
}
});
return files != null ? files[0] : null;
}
}