0

我目前正在尝试为 Jenkins CI 制作一个插件。我正在尝试创建一个新的项目类型,但在编译代码时遇到了一些问题。我在 Jenkins 代码库中看到了以下工作:

// hudson/model/AbstractBuild.java
package hudson.model;
public abstract class AbstractBuild<P extends AbstractProject<P,R>,R extends AbstractBuild<P,R>> extends Run<P,R> implements Queue.Executable {
    public abstract class AbstractBuildExecution extends Runner {
        // ...
    }
}

// hudson/matrix/MatrixBuild.java
package hudson.matrix;
public class MatrixBuild extends AbstractBuild<MatrixProject,MatrixBuild> {
    public class MatrixBuildExecution extends AbstractBuildExecution {
        // ...
    }
}

这两个文件编译得很好。当我尝试在我的插件中做同样的事情时......

package parallelbuild;
public class ParallelBuild extends AbstractBuild<ParallelProject,ParallelBuild> {
    public class ParallelBuildExecution extends AbstractBuildExecution {
        // ...
    }
}

Maven 给了我来自 javac 的以下错误。

[ERROR] /home/jsternberg/jenkins-parallel-build/parallel-build/src/main/java/parallelbuild/ParallelBuild.java:[29,48] cannot find symbol
[ERROR] symbol  : class AbstractBuildExecution
[ERROR] location: class parallelbuild.ParallelBuild
[ERROR] /home/jsternberg/jenkins-parallel-build/parallel-build/src/main/java/parallelbuild/ParallelBuild.java:[29,48] cannot find symbol
[ERROR] symbol  : class AbstractBuildExecution
[ERROR] location: class parallelbuild.ParallelBuild
[ERROR] -> [Help 1]

我究竟做错了什么?

4

1 回答 1

1

您的 POM 是否使用包含具有内部 AbstractBuildExecution 类的 AbstractBuild 的版本?

之所以这么说,是因为至少有一个版本的 AbstractBuild (1.312) 没有它。

于 2012-07-16T08:06:58.713 回答