我开始使用像HTMLParser这样的java软件包,我已经下载了它并发现其中有很多文件和目录。
我徘徊,把它们放在我的linux系统里?有会议或标准吗?
答案 0 :(得分:1)
快速而肮脏的答案是“类路径中的任何位置”,其中类路径被设置为客户端计算机上的系统属性(不推荐),作为用于启动JVM的CLI会话的临时系统属性(可以从启动脚本工作),或作为JVM的命令行参数(通常是首选) 第一个和第二个设置CLASSPATH环境变量,请参阅JDK或JRE文档以获取确切的语法以及操作系统和/或shell脚本文档。第三,将-cp命令行变量用于Java运行时和编译器,有关确切的语法,请参阅其文档 将文件放在文件系统上的位置?出于开发目的,我通常在计算机上使用包含所有此类库的中央文件夹,并链接到我的IDE或其他开发环境中的库。对于最终用户的部署/打包,传统上有一个“lib”子文件夹到包含所有可分发内容的产品文件夹,并将jar文件放入其中。
答案 1 :(得分:-1)
Java包有两种形式。 源代码 - 您提及的所有文件和目录 - 并打包为 jars 。 Java项目中的一个常见约定是项目有一个lib目录,其中包含项目所依赖的所有jar。这些项目通常使用shell脚本,在执行项目代码之前将所有jar添加到Java类路径中。
然而,许多项目正在从这种处理依赖关系的方法转向使用像Apache Maven这样自动处理依赖关系管理的构建工具。其他替代方案包括Ivy或Gradle。有关简介,请参阅5 minute introduction to Maven或Maven 3 tutorial。
在这里编写一个pom.xml(项目对象模型文件),它指定项目使用的库(jar)。然后,Maven将您的不同项目的所有jar存储在本地目录的.m2目录中,跟踪它获取的位置及其版本信息。
这使得开发变得更加容易,因为您不需要创建lib目录或手动管理依赖项。您还可以避免设置类路径的许多复杂性,因为Maven会在编译和测试等常见生命周期阶段自动为您执行此操作。最新版本的Eclipse可以读取Maven pom并自动配置它的类路径。
一旦你构建了项目,Maven还可以通过程序集插件或Shade插件帮助创建包含项目所依赖的所有jar的“ fat jars ”。这样,当您希望有人使用building an executable时,可以更轻松地分发代码。如果您要分发jar,那么您的pom.xml将描述项目的依赖关系,从而无需分发它所依赖的jar。
要在Linux系统上一般布置文件,请参阅Linux Filesystem hierarchy standard。