首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问:导入javax.annotation.Generated

问:导入javax.annotation.Generated
EN

Stack Overflow用户
提问于 2020-07-06 00:09:21
回答 1查看 336关注 0票数 0

当导入包时,im得到的错误是:包javax.annotation不可访问。编译时的错误,因为我不能使用代码中生成的向下是:错误发生在启动层初始化期间

java.lang.module.FindException:无法派生C:\Users"NAME".p2\pool\plugins\es.ucm.gaia.colibristudio.LibraryPool_1.0.0\lib\databaseconnector\jboss-transaction-api_1.1_spec-1.0.0.Final.jar的模块描述符,原因: java.lang.IllegalArgumentException: jboss.transaction.api.1.1.spec:无效的模块名称:'1‘不是Java标识符

代码是:

代码语言:javascript
复制
import jcolibri.cbraplications.StandardCBRApplication;
import jcolibri.cbrcore.CBRCase;
import jcolibri.cbrcore.CBRCaseBase;
import jcolibri.cbrcore.CBRQuery;
import jcolibri.cbrcore.Connector;
import jcolibri.exception.ExecutionException;
import jcolibri.exception.InitializingException;
import jcolibri.method.retrieve.NNretrieval.NNConfig;
 
import javax.annotation.Generated;  //This is where im getting the error and 
                                   //every Generated after does not work
import representation.CaseDescription;
import representation.CaseSolution;
import jcolibri.method.retrieve.NNretrieval.NNConfig;
import jcolibri.cbrcore.Attribute;
import jcolibri.method.retrieve.RetrievalResult;
import jcolibri.method.retrieve.NNretrieval.NNScoringMethod;
import jcolibri.method.retrieve.selection.SelectCases;
import java.util.Collection;
 
public class CBRApplication implements StandardCBRApplication {
 
    @Generated(value = { "ColibriStudio" })
    Connector connector;
   
    @Generated(value = { "ColibriStudio" })
    CBRCaseBase casebase;
 
 
 
    //******************************************************************/
    // Configuration
    //******************************************************************/
 
    @Override
    public void configure() throws ExecutionException {
        try{
            configureConnector();
            configureCaseBase();
        } catch (Exception e){
            throw new ExecutionException(e);
        }
    }
 
    /** Configures the connector */
    @Generated(value = { "CS-PTConector" })
    private void configureConnector() throws InitializingException{
        connector = new jcolibri.connector.PlainTextConnector();
        connector.initFromXMLfile(jcolibri.util.FileIO.findFile("config/plainTextConnectorConfig.xml"));
    }
 
    /** Configures the case base */
    @Generated(value = { "CS-CaseManager" })   
    private void configureCaseBase() throws InitializingException{
        casebase = new jcolibri.casebase.LinearCaseBase();
    }
 
    //******************************************************************/
    // Similarity
    //******************************************************************/
   
    /** Configures the similarity */
    @Generated(value = { "CS-Similarity" })
    private NNConfig getSimilarityConfig() {
        NNConfig simConfig = new NNConfig();
        simConfig.setDescriptionSimFunction(new jcolibri.method.retrieve.NNretrieval.similarity.global.Average());
        Attribute attribute0 = new Attribute("HolidayType", CaseDescription.class);
        simConfig.addMapping(attribute0, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute0, 1.00);
        Attribute attribute1 = new Attribute("NumberOfPersons", CaseDescription.class);
        simConfig.addMapping(attribute1, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute1, 1.00);
        Attribute attribute2 = new Attribute("Region", CaseDescription.class);
        simConfig.addMapping(attribute2, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute2, 1.00);
        Attribute attribute3 = new Attribute("Transportation", CaseDescription.class);
        simConfig.addMapping(attribute3, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute3, 1.00);
        Attribute attribute4 = new Attribute("Duration", CaseDescription.class);
        simConfig.addMapping(attribute4, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute4, 1.00);
        Attribute attribute5 = new Attribute("Season", CaseDescription.class);
        simConfig.addMapping(attribute5, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute5, 1.00);
        Attribute attribute6 = new Attribute("Accommodation", CaseDescription.class);
        simConfig.addMapping(attribute6, new jcolibri.method.retrieve.NNretrieval.similarity.local.Equal());
        simConfig.setWeight(attribute6, 1.00);
        return simConfig;
    }
 
    //******************************************************************/
    // Methods
    //******************************************************************/
   
 
    @Generated(value = { "ColibriStudio" })
    @Override
    public CBRCaseBase preCycle() throws ExecutionException {
        casebase.init(connector);
        return casebase;
    }
       
    @Generated(value = { "ColibriStudio" })
    @Override
    public void cycle(CBRQuery query) throws ExecutionException {
        NNConfig simConfig = getSimilarityConfig();
        Collection<RetrievalResult> eval = NNScoringMethod.evaluateSimilarity(casebase.getCases(), query, simConfig);
        eval = SelectCases.selectTopKRR(eval, 5);
        System.out.println("Retrieved cases:");
        for (RetrievalResult nse : eval)
            System.out.println(nse);
    }
 
    @Generated(value = { "ColibriStudio" })
    @Override
    public void postCycle() throws ExecutionException {
        connector.close();
    }
 
    /**
     * Main method
     */
    @Generated(value = { "ColibriStudio" })
    public static void main(String[] args) {
        CBRApplication cbrApp = new CBRApplication();
        try {
            cbrApp.configure();
            CBRCaseBase caseBase = cbrApp.preCycle();
           
            for(CBRCase c: caseBase.getCases())
                System.out.println(c);
           
        } catch (ExecutionException e) {
            e.printStackTrace();
        }
 
    }
}
EN

回答 1

Stack Overflow用户

发布于 2020-07-06 02:06:54

如果Eclipse说“JDK”是不可访问的,那么可能是因为使用了什么javax.annotation来编译您的代码。您希望您的代码需要JDK 1.8编译器吗?

首先要检查的是与您的项目关联的Java Execution Environment名称。如果您需要JDK 1.8,那么在Project Properties and Java Compiler中,它应该引用"JavaSE-1.8“作为执行环境。

您还应该检查执行环境本身的定义。这可以在Eclipse Preferences->Java->InstalledJREs->ExecutionEnvironments中找到。如果单击"JavaSE-1.8",列表中应该有一个或多个Java发行版,其中一个应该选中,选中的那个发行版的名称应该是"jdk“,而不是"jre”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62743184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档