【问题标题】:Extra but important items in Maven for a Java ProjectJava 项目的 Maven 中额外但重要的项目
【发布时间】:2014-06-12 18:14:19
【问题描述】:

我正在将现有项目重组为 Maven 标准结构,但我真的不知道将某些项目放在哪里。

例如,我有一个目录,其中包含一组 Java 类,用于将 toString() 附加到其他类。我不确定是否将其与 maven 的标准结构相关。

我想描述这些类的最佳方式是“额外但仍然很重要的东西”。我对 Maven 和一般的构建工具还很陌生,所以欢迎任何帮助或指导!

**编辑:所以我被告知这些类没有被编译并且不是“真正的”Java类。考虑到这一点,我倾向于将它放在 src/main/resources 下。这合意吗?

【问题讨论】:

  • 如果类没有被编译也没有被使用——它们为什么存在?

标签: java maven build-tools


【解决方案1】:

就 Maven 标准结构而言,它可以是 /src/main/java 或 /src/test/java。没有歧义。

也许您在问自己应该将这些类放在哪个包中?这完全独立于构建工具,只有源文件夹才重要。

src/main/resources 用于所有未编译但需要从主类中获得的东西,所以是的,应该去那里。

仍然想知道这些类但不是真正的类是什么......

【讨论】:

  • 是的,我也是这么想的。只是不确定是否还有其他类似性质的目录需要进入。
  • 额外提示:使用 Maven,当您超过标准结构时就会开始出现头痛,因此请确保遵循约定。
  • 关于“类但不是真正的类”,我实际上并不完全确定它们是什么,除了每个都包含一个 toString() 方法,据我所知,是附加到相关类的末尾。为什么他们不是那些开始的课程的一部分,你明白了,我没有开发这个项目。即使在资源中包含这些我也犹豫不决,当这是一个 jar 时,我们并不真正关心它们,因为它们会在通过 Ant 脚本创建二进制文件之前被附加到上述类中(我想想)。
  • 继续... 那么我要问的是,是否可以将这些排除在与 Jar 捆绑的范围之外?我觉得我已经看到了,所以也许我正在那里回答我自己的问题。
  • 好吧,我明白了。它们在主类的实际编译之前被处理。您可以通过将这些文件放在一个完全独立的文件夹中来实现这一点,Maven 不知道。然后,我将重用附加该方法的 ant 脚本部分,并在编译目标之前使用 maven-ant-plugin 启动它。
猜你喜欢
  • 1970-01-01
  • 2017-05-28
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 2017-11-11
  • 2022-12-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多