Я не знаю java. Я пытаюсь скомпилировать плагин для Bamboo, используя eclipse. Я получаю ошибку компиляции java. Пожалуйста, помогите мне определить/исправить эту проблему.не может найти символ: class NumberTools
JmeterResultsWriter.java выглядит следующим образом
##########################JmeterResultsWriter.java ##################
package com.atlassian.bamboo.plugins.jmeter_aggregator.index;
import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.document.NumberTools;
import org.apache.lucene.document.Field.Index;
import org.apache.lucene.document.Field.Store;
import org.jetbrains.annotations.NotNull;
import com.atlassian.bamboo.index.CustomPostBuildIndexWriter;
import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
import com.atlassian.bamboo.plugins.jmeter_aggregator.Sampler;
import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
import com.thoughtworks.xstream.XStream;
public class JmeterResultsWriter implements CustomPostBuildIndexWriter
{
public static final String JMETER_AGGREGATOR_NINETY_PERECENT = "jmeter.aggregator.ninety.percent";
public static final String JMETER_AGGREGATOR_MEDIAN = "jmeter.aggregator.median";
public static final String JMETER_AGGREGATOR_THROUGHPUT = "jmeter.aggregator.throughput";
@SuppressWarnings("unchecked")
public void updateIndexDocument(@NotNull Document doc, @NotNull BuildResultsSummary summary)
{
Map<String, String> data = summary.getCustomBuildData();
String xmlData = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
if (xmlData != null)
{
String xmlTotal = data.get(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
XStream xstream = new XStream();
Sampler sampler = (Sampler) xstream.fromXML(xmlTotal);
// Store the total and xmldata unindexed.
doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, xmlData, Store.COMPRESS, Index.NO));
doc.add(new Field(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, xmlTotal, Store.COMPRESS,
Index.NO));
}
}
}
################### JmeterResultsReader.java ###################
package com.atlassian.bamboo.plugins.jmeter_aggregator.index;
import java.util.Map;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import com.atlassian.bamboo.index.CustomIndexReader;
import com.atlassian.bamboo.plugins.jmeter_aggregator.builder.JmeterBuildDataHelper;
import com.atlassian.bamboo.resultsummary.BuildResultsSummary;
public class JmeterResultsReader implements CustomIndexReader
{
public void extractFromDocument(Document doc, BuildResultsSummary summary)
{
Map<String, String> results = summary.getCustomBuildData();
Field dataField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP);
if (dataField != null)
{
results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_MAP, dataField.stringValue());
}
Field totalField = doc.getField(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL);
if (totalField != null)
{
results.put(JmeterBuildDataHelper.CUSTOM_BUILD_DATA_TOTAL, totalField.stringValue());
}
}
}
[ERROR] /C:/Users/twinnarasi/workspace/atlassian-bamboo-jmeter-aggregator/src/main/java/JmeterResultsWriter.java : [7,34] C: \ Users \ twinnarasi \ workspace \ atlassian-bamboo-jmeter-aggregator \ src \ main \ java \ JmeterResultsWriter.java: 7: не может найти символ [ERROR] symbol: class NumberTools [ERROR] местоположение: упаковка org.apache.lucene.document
ОШИБКА] /C:/Users/twinnarasi/workspace/atlassian-bamboo-jmeter-aggregator/src/main/java/com/atlassian/bamboo/plugins/jmeter_aggregator/index/JmeterResultsReader.java:[23,40] C: \ Users \ twinnarasi \ workspace \ atlassian-bamboo-jmeter-aggregator \ src \ main \ java \ com \ atlassian \ bamboo \ plugins \ jmeter_aggregator \ index \ JmeterResultsReader.java: 23: несовместимые типы [ERROR] найдено: org .apache.lucene.index.IndexableField [ERROR] требуется: org.apache.lucene.document.Field
Вы используете источник, который работает с Apache Lucene 3.x, но у вас есть Apache Lucene 4.x. Они несовместимы. – RealSkeptic
Спасибо. Это имеет смысл. Но мы используем Lucene 4.x для Bamboo 5.7, и мы не можем понизить до 3.x. Первоначально мы пытаемся скомпилировать плагин JMeter Aggregator (он поддерживался бамбуком только до 5.5.1), поэтому я думаю, что мне нужно модифицировать pom.xml Jmeteraggregator для совместимости с 4.x – VRK
Я не думаю, что это просто вопрос о pom.xml - этот источник напрямую импортирует 'org.apache.lucene.document.NumberTools', которого нет в Lucene 4.x. – RealSkeptic