java - 传统的开源 Java 应用程序

标签 java open-source maven dependencies log4j

<分区>

我的“家庭项目”使用 Java 已有一段时间,现在需要通过 github 或 Google Code 等存储库提供我的一些项目。

只要我是该项目的唯一开发人员,并且只要我一直在 Eclipse 中工作,就绝对没有关于构建和运行它的问题。一切正常。问题基本上是,如果有人要我分享,我该怎么办? :-)

首先要做的是,使用 Maven 等工具使项目可构建。在这种情况下,无论某人是否安装了 Eclipse,或者更喜欢 IDEA,他都可能只是下载我的项目并使用 Maven 进行构建。或者,导入到 Eclipse/IDEA 并构建。

所以,为了澄清这个问题,这里有两点:

  1. 我的目录结构应该是什么样的?诸如 src、bin 之类的文件夹,还有其他什么?
  2. 我的应用程序应该以什么方式运行?例如,我的应用程序需要 log4j 才能运行。 Maven 在构建包时解决了这种依赖关系。但是当构建包时,您应该手动提供 log4j 的路径(使用 java -cp ...)——如果我只想提供 .sh,有什么方法可以消除这个要求和 .cmd 脚本以方便用户使用?

最佳答案

如果您和您的同事只想继续使用 Eclipse,那么共享项目包括 .project 和其他隐藏文件,并避免引用外部 jar 文件和其他资源。如果您需要 log4j.jar,则将其放入您的项目并将其添加到构建路径。

这非常有效,即使对于多个程序员也是如此,并且是启动和运行的最快方式。

关于java - 传统的开源 Java 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056080/

相关文章:

java - java中的Euler Project 5,为什么有不同的结果?

java - 无需连接到互联网即可获取本地 IP 地址

ios - 在 Linux 中开发 iOS 应用程序的状态如何?

c# - 是否有 C# 的集中式开源代码存储库?

java - 有谁知道是否有一个eclipse插件可以指出pom.xml中不兼容的jar?

java - 请求语法错误 : spring mvc

java - 使用 Netbeans GUI Swing Builder 的 JComponent 位置

open-source - 我可以将我的 MATLAB 程序作为开放源代码分发吗?

java - 部署到 Servicemix 时无法初始化类 org.springframework.aop.aspectj.annotation.ReflectiveAspectJAdvisorFactory

java - 如何使用 SonarQube-6.7.5 生成 HTML 报告