在IntelliJ 12声明下添加目录路径库“LibraryName”未使用且无效

时间:2014-02-07 11:05:13

标签: intellij-idea codenameone intellij-plugin

我维护一个IntelliJ插件(Codename one),我们需要控制用户类路径。我正在通过插件添加类路径,或者通过转到此处手动添加:

enter image description here

按下我选择Java的+号:

enter image description here

然后选择课程:

enter image description here

这似乎工作正常:

enter image description here

但是完成和其他此类功能不起作用,当我返回时,该条目被禁用,我收到此错误消息:

enter image description here

这真的没告诉我什么?

解决方法是在文本编辑器中打开.iml文件,并将以下内容添加到orderEntry列表中:

<orderEntry type="library" scope="PROVIDED" name="LibraryName" level="project" />

不幸的是,这不太实用,只能解决我遇到的一些问题。任何方向或提示都将在这里受到赞赏。

修改:添加偏好设置UI的屏幕截图:

enter image description here

第二次修改:模块部分的屏幕截图

enter image description here

2 个答案:

答案 0 :(得分:2)

来自kukido的答案很好,有关其他详细信息,请查看:http://devnet.jetbrains.com/message/5509300

基本上我想要的仍然是我的模块,但以编程方式添加依赖项,可以通过以下方式完成:

ModifiableRootModel model = ModuleRootManager.getInstance(module).getModifiableModel();
model.addLibraryEntry(library);
model.commit();

答案 1 :(得分:1)

  

这真的没告诉我什么?

IntelliJ正在尝试警告您已创建了一个库,但它未在项目中的任何位置引用。它轻轻地问:“你的意思是将这个库添加为依赖吗?”。

该条目未被禁用。它是灰色的,表明它没有作为依赖项在任何模块中引用。将库添加到依赖项列表后,颜色将会更改。

这是一个两步过程:

  1. 创建图书馆
  2. 在模块中引用新库
  3. 代码完成无效,因为您的模块不知道库类。

    模块依赖

    enter image description here

    未引用和引用的库

    enter image description here