如何组织java项目,尤其是将LIB放在何处?

如何组织java项目,尤其是将LIB放在何处?,java,Java,有人能告诉我如何在我的项目中组织文件吗 我使用命令行。我现在不想为IDE工具操心。我的小程序只包含一个.java文件,但使用了20个左右的lib 这就是我所做的。在my.java的第一行中,我编写了包com.mycompany.app.module;.java和更高版本的.class文件位于 /home/sweethome/Projects/Proj1/com/mycompany/app/module 接下来,我想创建一个jar来放置包含 com/mycompany/app/module/Lo

有人能告诉我如何在我的项目中组织文件吗

我使用命令行。我现在不想为IDE工具操心。我的小程序只包含一个.java文件,但使用了20个左右的lib

这就是我所做的。在my.java的第一行中,我编写了包com.mycompany.app.module;.java和更高版本的.class文件位于

/home/sweethome/Projects/Proj1/com/mycompany/app/module
接下来,我想创建一个jar来放置包含

com/mycompany/app/module/LogonToken.class
到目前为止还可以吗?我真正的问题来了:我应该把这个类需要运行的20个libs放在哪里

com/mycompany/app/module/libs

处理外部依赖关系的干净方法是使用像Maven这样的构建系统,并在pom.xml文件中声明它们。这不需要IDE


首先,这似乎需要一些额外的努力,但实际上会很快摊销。

您的问题是用20个lib和类构建jar文件吗?如果这是真的,下面是你问题的答案


以下是我自己问题的答案:

相当标准的java项目由三个顶级文件夹组成:

/bin-将包含编译的.class文件的空文件夹

/lib-包含第三方.jar文件


/src-contains.java源文件

I听起来像他们描述的.jar中没有结构。既然我有一个包,我就不需要上面提到的dir结构com/mycompany/app/module/在.jarNo中,它有一个结构。您可以使用您的结构构建.jar文件。与使用IDE构建.jar文件相同,这个jar文件包含您的结构。示例:jar cfm MyJar.jar Manifest.txt MyPackage/*.CLASS您的应用程序运行时只需要这20个库,还是在编译时也需要它们?对不起,编译和运行我认为您缺少的概念是类路径。这是所有值得您花费时间的资源中涵盖的非常基本的材料,包括Oracle Java教程。我知道如何编译和运行,但对项目的最先进组织很感兴趣。现在找到此资源,回答了我的所有问题: