java调用maven接口实现java执行maven命令

引入maven

	
		
			org.apache.maven.shared
			maven-invoker
			3.0.1
		

代码:

 /**
     * @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();
        }
    }

 

你可能感兴趣的:(java工具类)