长话短说,我的git repo配置方式不是工作区,而是项目文件夹已经签出。
这意味着我的pom.xml位于/data/jenkins/workspace/pom.xml
而不是(正如jenkins目前构建的那样)
/data/jenkins/workspace/{PROJECTNAME}/pom.xml
。
问题是:Jenkins在slave上运行以下命令:
mvn -B -f /data/jenkins/workspace/project/pom.xml jboss-as:deploy
通过SO挖掘了一下我发现我可以明确地将工作目录更改为签出。
因为这无助于改变生成的路径,谁是相当好的,我试图直接给出maven的力量路径。遗憾的是,这并没有按照预期的方式工作,而是导致了File not Found错误。
我还尝试将构建配置中的根pom更改为:
我现在在这里问一个问题。../的pom.xml
/data/jenkins/workspace/pom.xml
编辑:
我现在指定了工作空间和root pom.xml
工作区:/ data / jenkins / workspace /
根POM:/data/jenkins/workspace/pom.xml
在配置中没有显示错误,即使我仍然得到一个InvocationTargetException,将其作为stacktrace:
执行Maven:-B -f /data/jenkins/workspace/pom.xml jboss-as:deploy
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:606)
在org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:331)
在org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
在org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:158)
在hudson.maven.Maven3Builder.call(Maven3Builder.java:112)
在hudson.maven.Maven3Builder.call(Maven3Builder.java:70)
在hudson.remoting.UserRequest.perform(UserRequest.java:118)
在hudson.remoting.UserRequest.perform(UserRequest.java:48)
在hudson.remoting.Request $ 2.run(Request.java:287)
在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)
在java.lang.Thread.run(Thread.java:724)
引起:java.lang.NoClassDefFoundError:org / apache / maven / cli / MavenLoggerManager 在org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:73)
... 17更多
引起:java.lang.ClassNotFoundException:org.apache.maven.cli.MavenLoggerManager
在org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
在org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
在org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
... 18更多
渠道停止了 错误:无法解析POM
答案 0 :(得分:0)
为什么打破Jenkins工作空间目录结构?让詹金斯管理詹金斯。使用Git插件将作业签出正确地放入工作区结构中。
在作业的高级部分,您可以将工作区更改为/ data / jenkins / workspace /,如果您愿意,也许您的工作将按预期工作。