如何创建自己的java库(API)?

时间:2010-08-31 19:39:33

标签: java jar

我用Java创建了一个程序,我设计了它以便我希望它们在main中出现(getter方法),我可以在启动包含这些方法的类之后轻松调用它们。

问题是,我需要使这个应用程序(包含getter方法)就像一个API,以便我可以让我的应用程序让开发人员使用我的函数(getter方法),如果他们需要它们,只有他们需要的是添加这个文件(我认为之后的API显示为.jar文件)。

如何才能使我的代码可以重复使用其他应用程序?我认为它类似于.dll。

非常感谢;)

8 个答案:

答案 0 :(得分:48)

创建一个JAR。然后包括JAR。该JAR中的任何类都可用。如果您要提供API,请确保保护您的代码。不要向最终用户公开任何不应使用的方法/属性。

编辑:在回复您的评论时,请确保在打包JAR时不包含源。仅包含类文件。这是你真正做到的最好的。

答案 1 :(得分:17)

要用作API,您的课程应该:

  • 使用唯一的包(理想情况下遵循约定,即您拥有的域的反向作为前缀)。这可以防止命名冲突
  • 只允许其他人使用的类别和方法publicprotected。这使它更容易使用。
  • 有广泛的Javadoc评论。
  • 作为JAR文件提供 - 理想情况下,单独的JAR用于二进制分发,源代码和javadoc文件。

答案 2 :(得分:10)

您需要将应用程序打包为jar文件。您可以使用ant jar任务创建jar文件,也可以使用jar命令。

对于ant任务,请查看此link

要手动创建,请查看此link

答案 3 :(得分:6)

确保为所有公共和受保护的类和方法编写和发布javadoc。

答案 4 :(得分:5)

创建jar:

jar cf <jar_name> <sources>

答案 5 :(得分:4)

您可以通过多种方式公开代码。创建一个jar并分发可能是最容易的,因为其他开发人员只需要包含你的jar。但是,如果您正在谈论“任何人”访问您的代码,那么Web服务可能更有意义,因为您可以提供对数据的访问而无需提供所有必需的代码。你提到提供访问你的getter - 如果你只是创建一个有getter的类,其他开发人员可以使用它们,但它们将如何填充?如果您的应用程序是自包含的,它获取必要的数据并提供getter,那应该可以工作,但如果您正在讨论提供从正在运行的应用程序访问数据的访问权限,那么Web应用程序可以更有意义,因为您的应用程序可以检索数据并通过可公开访问的方法提供访问。

您很可能也想创建接口,因此开发人员可以针对该接口进行编码,您可以在不影响它们的情况下更改内部工作。其他人将使用的API也应该被广泛记录。

答案 6 :(得分:0)

嗯,取决于你的IDE。我使用Netbeans,所以我只是点击构建项目,并且中提琴!在我指定的目录中创建一个jar文件。现在,那只是为了编译。所有人都要下载你的.jar文件,如果在Netbeans中,右键单击库,添加jar /文件夹,然后选择下载的文件。

答案 7 :(得分:0)

你也可以考虑:

  • 包含一些演示如何使用您的库的示例
  • 使用Apache Maven构建jar
  • 将您的jar放入公共maven存储库
  • 在找到/修复错误时发布新版本的库
  • 如果你想隐藏你的实现,你可以用你的混淆包装你的jar,这样如果有人反编译你的类,代码将难以阅读