如果 pom.xml 不在根级别,如何将 maven 项目添加到 intellij idea

How do I add maven project into intellij idea if pom.xml is not in the root level

已经过去 2 天了,此时我正在紧张不安。
我是 java 开发的新手 - 试图将项目导入到具有以下文件结构的 intellij IDEA 中:

project_dir
  data_files
     file1.json
     file2.json
     ..
  doc_files
     file1.md5
     file2.md5
  java_project
     src/*
     pom.xml
  readme.md
  .git
  .gitignore

我不明白如何将这样的项目导入 intellij,所以它仍然可以编译,我仍然可以看到非 java 目录,如 data_files 和 doc_files.

所以这是我尝试过的:

a) 我可以进入 intellij => 打开 => select project_dir 文件夹。 然后我可以看到所有文件,但项目无法编译。 IDE 抱怨没有定义依赖关系。 如果我右键单击 pom.xml 和 select "add as a maven project" -> intellij 将项目根目录替换为 java_project 目录 ang 我再也看不到 data_files 和 doc_files .

b) intellij => 打开 => select pom.xml 文件。 我可以看到源文件和项目编译,但我看不到 data_files 和 doc_files 并且无法添加它们。

欢迎任何帮助。 谢谢

你尝试了吗

File -> 
New ->
Project from Existing Sources ->
select the pom ->
set the root directory to project_dir

仅供参考,一个更典型的 Maven 布局是

project_dir
  data_files
    file1.json
    file2.json
    ..
  doc_files
    file1.md5
    file2.md5
  src/*
  pom.xml
  readme.md
 .git
 .gitignore

如果您希望包含 json 和 md5 文件的文件夹在编译后与 class 文件一起出现,则它们必须位于 resources 文件夹中。 maven layout

我不认为,这是可能的。不过,您可以做的是使用以下 POM 添加一个伪造的聚合父模块:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>qa</groupId>
    <artifactId>fake-parent</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>java_project</module>
    </modules>
</project>

并导入它而不是导入 java_project 的 POM。你将拥有 following files structure

或者您可以考虑将 doc_files 和 data_files 移动到 java_project 文件夹中,这对我来说看起来更自然。