【问题标题】:Java projects and git repositoriesJava 项目和 git 存储库
【发布时间】:2012-10-18 02:04:53
【问题描述】:

我正在做两个项目。其中一个是一个库,其中包含一些类,例如Neuron.java、ANN.java 等。另一个是一个可视化程序,它使用这些类并运行一些模拟,然后显示结果。

我打算让这两个项目具有不同的名称并位于不同的 git 存储库中。但是,有一个问题。我所有的项目目录(我计划在其中保留.git/ 目录、文档、类和所有类的.jar 文件)都位于com/yannbane/。

如果我将我的类声明为属于 com.yannbane.library 包(例如),如果下载 repo 的人没有相同的文件夹结构,他将如何使用该库?

简单地放弃com/yannbane 并将所有项目保存在完全独立的目录中并属于它们自己的独立包对我来说会更容易吗?如果这样做,我将不得不自己在项目之间共享库的.jar 文件,对吧?

【问题讨论】:

  • @Perception,我认为这是我理解 Java 作为一个平台的一个基本问题。我想自己解决这个问题,而不使用像 IDE 之类的任何管理器,或者你所建议的 Maven,直到我了解事情应该如何工作。不过还是谢谢推荐,以后可能有用!
  • 这不是一个“Java 作为平台”的问题,它是一个库打包问题。您可以坚持自己滚动,但最终您会发现专用于该事业的工具无限有用。祝你好运!
  • 嗯,好吧,但我猜它仍然属于“常用方法和实践”。当然,我稍后会使用很多工具,但我是自下而上开始的。

标签: java git class jar package


【解决方案1】:

代码的所有包结构都应该在存储库中。

您不需要使用 Maven 或 IDE(Netbeans、Eclipse),但您可以使用相同类型的结构来组织您的代码。

我会有类似的东西:

Library/
        .git/
        src/
            com/
                yanbanne
        libs/
             dependencyL1.jar
             dependencyL2.jar
        dist/
             library.jar
             library.doc

Visualization/
              .git/
              src/
                  com/
                      yanbanne
              libs/
                   dependencyV1.jar
                   dependencyV2.jar
                   library.jar
              dist/
                   visualization.jar
                   visualization.doc

可以使用 Maven 或 Ivy 等工具省略 lib 文件夹。将library.jar复制到Visualization的依赖可以通过在IDE中建立项目之间的依赖来自动完成,但这是基本思想。

【讨论】:

  • 太好了,我希望有这样的东西!但是如何在Visualization 中使用来自Library 的类?罐子?
  • 另外,我正在等待有关此方法的一些同行评审,但我可能会接受您的回答。
  • 好吧,您可以将library.jar 复制到您保留Visualization 的其他依赖项的同一目录中。让我添加几行...
  • 太好了,现在完成了!谢谢。
猜你喜欢
  • 2015-05-15
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 2017-04-22
相关资源
最近更新 更多