使用IntelliJ IDEA创建Java库文件

时间:2013-08-18 15:54:06

标签: import intellij-idea java

我正在尝试创建一个可以在其他项目中使用的库。我用一些静态方法编写了一个类来做一些事情。我想尝试一下,但我无法使用导入的JAR文件。

我已将我的代码编译为工件并从“out”文件夹中获取JAR文件,然后将其复制到另一个项目中。之后,我进入“项目结构”,选项卡“库”,然后按下加号按钮。我找到了JAR文件并选中了它,之后IDEA要求我指定依赖项,所以我做了,但是当我想在代码中使用它时,我无法这样做。它甚至无法导入。

Class from library not recognized

为什么忽略我的图书馆?谢谢!

如何使用IntelliJ IDEA创建可在其他项目中使用的JAR库?

2 个答案:

答案 0 :(得分:6)

您遇到了一个非常常见的依赖管理问题。

IMO真正的答案是使用像Maven,Ant或Gradle这样的构建系统(我自己去Gradle)。你要做的是手动,难以复制和脆弱。

每次进行更改时,您都必须通过手动步骤创建新的JAR。你真的不明白你的依赖。

要全力以赴地采用最佳实践,您将拥有可以发布到持续集成服务器的实际构建系统,该服务器可以编译并运行测试。成功完成测试后,JAR将发布到工件服务器(Nexus / Artifactory)。

您与之共享的人将通过声明对JAR的依赖来通过构建系统使用JAR。

答案 1 :(得分:4)

我弄清楚我的问题是什么。当我创建库时,我试图让它变得简单。很遗憾,太简单了。我有一个包含一个类的包,它被编译成一个JAR。结构如下所示:

foo
 |
 |_ MyLib.java 

但是,为了使用创建的JAR库中的类,必须将它们放在包中。这意味着如果我有:

foo
 |
 |_bar
 |  |
 |  |_MyInnerLib.java
 |
 |_MyOuterLib.java

我可以导入和使用MyInnerLib中的方法,但MyOuterLib不可访问也不可导入。这是我犯的错误。