探究完,我都想抽自己嘴巴子了~
父级pom.xml:
...
GOF
...
子模块pom.xml:
...
GOF
...
”[ERROR] Child module /data/git/java-demo/GOF of /data/git/java-demo/pom.xml does not exist @ “
[root@devops java-demo]mvn clean install -e -Dmaven.test.skip=true -f pom.xml
[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[ERROR] [ERROR] Some problems were encountered while processing the POMs:
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 13, column 21
[ERROR] Child module /data/git/java-demo/GOF of /data/git/java-demo/pom.xml does not exist @ @
[ERROR] The build could not read 1 project -> [Help 1]
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 13, column 21
[ERROR] Child module /data/git/java-demo/GOF of /data/git/java-demo/pom.xml does not exist @ at org.apache.maven.project.DefaultProjectBuilder.build (DefaultProjectBuilder.java:397)at org.apache.maven.graph.DefaultGraphBuilder.collectProjects (DefaultGraphBuilder.java:414)at org.apache.maven.graph.DefaultGraphBuilder.getProjectsForMavenReactor (DefaultGraphBuilder.java:405)at org.apache.maven.graph.DefaultGraphBuilder.build (DefaultGraphBuilder.java:82)at org.apache.maven.DefaultMaven.buildGraph (DefaultMaven.java:507)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:219)at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke (Method.java:498)at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
[ERROR]
[ERROR] The project com.dongle:practice:1.0.0 (/data/git/java-demo/pom.xml) has 1 error
[ERROR] Child module /data/git/java-demo/GOF of /data/git/java-demo/pom.xml does not exist
[ERROR]
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
跟进异常栈信息:
if (recursive) {File basedir = pomFile.getParentFile();List moduleFiles = new ArrayList<>();for (String module : model.getModules()) {if (StringUtils.isEmpty(module)) {continue;}module = module.replace('\\', File.separatorChar).replace('/', File.separatorChar);File moduleFile = new File(basedir, module);if (moduleFile.isDirectory()) {moduleFile = modelProcessor.locatePom(moduleFile);}if (!moduleFile.isFile()) {ModelProblem problem = new DefaultModelProblem("Child module " + moduleFile + " of " + pomFile + " does not exist",ModelProblem.Severity.ERROR,ModelProblem.Version.BASE,model,-1,-1,null);result.getProblems().add(problem);noErrors = false;continue;}if (Os.isFamily(Os.FAMILY_WINDOWS)) {// we don't canonicalize on unix to avoid interfering with symlinkstry {moduleFile = moduleFile.getCanonicalFile();} catch (IOException e) {moduleFile = moduleFile.getAbsoluteFile();}} else {moduleFile = new File(moduleFile.toURI().normalize());}if (aggregatorFiles.contains(moduleFile)) {StringBuilder buffer = new StringBuilder(256);for (File aggregatorFile : aggregatorFiles) {buffer.append(aggregatorFile).append(" -> ");}buffer.append(moduleFile);ModelProblem problem = new DefaultModelProblem("Child module " + moduleFile + " of " + pomFile + " forms aggregation cycle " + buffer,ModelProblem.Severity.ERROR,ModelProblem.Version.BASE,model,-1,-1,null);result.getProblems().add(problem);noErrors = false;continue;}moduleFiles.add(moduleFile);}
好吧,找到这里我好像知道哪里问题了,真是干脆!
忘了windows文件系统不区分大小写了,linux文件系统命名时区分大小写的!!!
项目的GOF模块的目录名是gof
!Linux区分到消息,导致module找不到对应的module目录。这时间浪费的,毫无意义,奇葩行为!