我是一位與maven合作的新手。 我編譯了一個應用程序,使用Maven插件來實現編譯目標。 當我執行:mvn compile
我看到這個。maven打電話的地方在哪裏?
[[email protected] userAPP]$ mvn compile
make -C ./configure install
make[1]:Entering directory `directory path'
perl /filepath/file.pl O.linux-x86_64 ../..
mkdir O.Common
make -C O.linux-x86_64 -f ../Makefile TOP=../.. T_A=linux-x86_64 install
make[2]: Entering directory `directory path´
perl /filepath2/file2.pl
...
我的問題是:
哪裏Maven的呼叫做什麼呢?
因爲查看mvn二進制文件,它會調用java,編譯後的mojo會創建一個擴展到AbstractMojo的對象。但是叫什麼名字?我的項目有很多makefile。 正如我所說我是新手,所以如果一些信息混淆或需要其他信息,請告訴我。 感謝您的幫助。 抱歉我的英語,但它不是我的母語。
編輯:這是我的pom.xml。
<!--
Project : My Project
Description : Project description file for App
Authors : This file was generated by
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mygroupid</groupId>
<artifactId>TEST</artifactId>
<packaging>java</packaging>
<version>2.0.0</version>
<name>TEST module</name>
<description>TEST module</description>
<!-- project properties -->
<properties>
<unit.type>module</unit.type>
</properties>
<!-- parent pom.xml -->
<parent>
<groupId>org.mycompany</groupId>
<artifactId>maven-mycompany-settings</artifactId>
<version>2.2.0</version>
</parent>
<!-- unit owner and developers -->
<developers>
<developer>
<id>developer</id>
<roles>
<role>unit owner</role>
</roles>
</developer>
</developers>
<!-- configuration of how the project is built -->
<build>
<!-- default phase is compile -->
<defaultGoal>compile</defaultGoal>
<!-- this command is executed if you just write 'mvn' -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-mycompany-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<packaging>
<!--"some packaging config"-->
</packaging>
</configuration>
</plugin>
</plugins>
</build>
在pom.xml中尋找負責執行令應該是compileMojo的魔力。但是我在哪裏可以找到調用make的代碼。因爲在../mojos/build/CompileMojo.java中沒有任何調用。可以執行MOJO()方法負責調用make?
look in'pom.xml' – artbristol
你應該在這裏發佈你的pom.xml,然後我們可以幫助你。 – Chandranshu
我如何展示maven的工作原理是maven在生命週期的不同階段執行mojos,並且make不是直接由maven執行,而是由mojos之一執行。如果你發佈你的pom文件的內容,我們可以很容易地指出哪一個負責執行make – user902383