前提・実現したいこと
Spotbugsという静的解析ツールのプラグイン開発を行っております。
https://github.com/spotbugs/spotbugs-archetype
にてSpotBugsプラグインプロジェクトのMaven Archetypeの使い方が記述されていたため
eclipse4.8.0を使用してmavenプロジェクトを作成しpom.xmlにて
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>maven-test2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.github.spotbugs</groupId>
<artifactId>spotbugs-archetype</artifactId>
<version>0.2.3</version>
</dependency>
</dependencies>
</project>
ように記述するとMaven依存関係という項目が現れspotbigs-archetype-0.2.3.jarが追加されました
そこから、
https://blog.kengo-toda.jp/entry/2017/06/15/225708
を参考にMyDetectorTest.javaのソースコードを動かそうとするとimportエラーが発生しました。
疑問な点はmavenでspotbigs-archetype-0.2.3.jarが追加されているのに
なぜimportエラーが発生するのか
Githubで公開されているファイルをimportするにはこの場合どのようにしたらimportできるのか教えていただきたいです。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
インポートされた edu は見つかりませんなど
該当のソースコード
Java
1import static edu.umd.cs.findbugs.test.SpotBugsRule.containsExactly; 2import static org.junit.Assert.assertThat; 3 4import java.nio.file.Path; 5import java.nio.file.Paths; 6 7import org.junit.Rule; 8import org.junit.Test; 9 10import edu.umd.cs.findbugs.BugCollection; 11import edu.umd.cs.findbugs.test.SpotBugsRule; 12import edu.umd.cs.findbugs.test.matcher.BugInstanceMatcher; 13import edu.umd.cs.findbugs.test.matcher.BugInstanceMatcherBuilder; 14 15public class MyDetectorTest { 16 @Rule 17 public SpotBugsRule spotbugs = new SpotBugsRule(); 18 19 @Test 20 public void testGoodCase() { 21 Path path = Paths.get("target/test-classes", "${package}".replace('.', '/'), "GoodCase.class"); 22 BugCollection bugCollection = spotbugs.performAnalysis(path); 23 24 BugInstanceMatcher bugTypeMatcher = new BugInstanceMatcherBuilder() 25 .bugType("MY_BUG").build(); 26 assertThat(bugCollection, containsExactly(bugTypeMatcher, 0)); 27 } 28 29 @Test 30 public void testBadCase() { 31 Path path = Paths.get("target/test-classes", "${package}".replace('.', '/'), "BadCase.class"); 32 BugCollection bugCollection = spotbugs.performAnalysis(path); 33 34 BugInstanceMatcher bugTypeMatcher = new BugInstanceMatcherBuilder() 35 .bugType("MY_BUG").build(); 36 assertThat(bugCollection, containsExactly(bugTypeMatcher, 1)); 37 } 38}
あなたの回答
tips
プレビュー