如何在测试执行期间读取MANIFEST.MF文件?

时间:2016-07-26 07:12:16

标签: java maven manifest

我正在尝试使用TestLink,Cucumber,Jenkins和Maven自动进行验收测试。为此,我要求阅读Maven创建的MANIFEST.MF文件。我必须在测试执行期间这样做。

我发现了这个代码示例:

var istanbul = require('gulp-istanbul');
var $ = require('gulp-load-plugins')({lazy: true});


    gulp.task('run', function () {
        return gulp.src(config.files)
            .pipe($.istanbul(
                {
                    instrumenter: isparta.Instrumenter
                }
            ))
            .pipe(istanbul.hookRequire());
    });

但是在尝试执行它时我得到一个NullPointerException ...你知道为什么吗?

我使用简单命令启动Maven:mvn package test。

我认为问题来自于此代码启动的时刻,我应该在包阶段之后启动它,有没有办法做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为您可以尝试下面的代码,因为大多数类加载器都可以转换为URLClassLoader

URLClassLoader cl = (URLClassLoader) getClass().getClassLoader();
try {
  URL url = cl.findResource("META-INF/MANIFEST.MF");
  Manifest manifest = new Manifest(url.openStream());
  ...
 } catch (IOException E) {
  // handle
 }