2019 IDEA 多模块项目查看各模块依赖导入情况+Project Structure 详细介绍

2019 IDEA 多模块项目查看各模块依赖导入情况+Project Structure  详细介绍

一、前言

使用IDEA工具创建了多模块项目后遇到了下面的的问题:

①、在项目中使用Gradle引入了依赖包,但是在模块中使用依赖包时候总是提示缺失依赖包。

②、项目中导入第三发依赖包时,提示添加依赖到classpath,点击添加后是可以用了,它到底添加到哪了?

③、IDEA中Project Structure 项目结构,管理项目哪些功能那?

带着上面的问题,在下面寻找答案。

二、查看IDEA模块依赖包情况

1.Project Structure

IDEA中打开Project Structure 就可以看到项目结构的所有情况。(Project Structure 快捷键:Ctrl+Shift+Alt+s)

解决第一个问题:Project Structure --Modules 查看依赖包

在IDEA项目下创建了多个模块后,那么每个模块都会维护自己的依赖包。当操作的模块提示缺失依赖包时,就可以点击该模块查看它的依赖包情况。如下图中查看demo2模块依赖包的导入情况。

如果模块的依赖中没有需要的依赖包,那么可以通过手工导入。

手动添加依赖,点击加号后显示3个路径可添加依赖

       ①.第一个是选择从本地路径添加下载好的jar包。

       ②.第二个是从项目的Libraries目录中添加。

       ③.第三个是在当前模块添加其他模块,用来调用其他模块。

 解决第二个问题:IDEA自动添加依赖包到calssPath,添加到了哪里?

IDEA提示添加依赖到CalssPath,其实就是添加到上图中模块对应的Dependencies中。

 -----------------------------------------------------------------------------------------------------------------------------------------

三、Project Structure 介绍

Project Structure 面板打开快捷键:Ctrl+Shift+Alt+s

0.Project Structure面板功能总览

 1.Project面板介绍

  • Project name:项目名,使用此字段编辑项目名称
  • Project SDK:项目SDK,选择项目使用java的SDK,可选择项目默认的和自己本机安装的java jdk版本
  • Project language level:选择要支持的Java语言级别。选定的级别将被用作项目默认值
    • 1.3 - 普通的旧Java
    • 1.4 - “断言”关键字
    •  5.0 - 'enum'关键字,自动装箱等
    • 6.0 - @Override在接口
    • 7.0 -ARM,多捕获等
    • 8.0 - Lambda支持,类型注释等

可以为您的任何模块设置单独的语言级别 。
请注意,如果目标级别没有明确定义(编译器选项-target),则认为它与源语言级别相同。
因此,如果-target没有明确定义,它将与语言水平同步。

  • Project compiler output:项目编译器输出,指定IntelliJ IDEA将存储编译结果的路径。单击选择路径对话框中browseButton 的目录。

2.Modules面板介绍

Source

  •  Name:项目名称
  • Souces:这里对Module的开发目录进行文件夹分类,就是说这个module里有什么内容,说明了不同性质的内容放在哪里。

这些不同内容的标记代表了一个标准Java工程的各项内容,IntelliJ就是根据这些标记来识别一个Java工程的各项内容的,比如,它会用javac去编译标记为Sources的源码,打包的时候会把标记为Resources的资源拷贝到jar包中,并且忽略标记为Exluded的内容。左边显示的是在选中内容的预览。

Language level:语言级别列表,使用此列表为模块选择Java语言级别。可用选项对应于JDK版本。

Sources:源代码存放的文件,蓝色。

Tests:设置测试代码存放的文件件,绿色。

Resources:一般对应着Sources文件,一般放配置文件,如:log4j.properties,application.yml。

Test Resources:这个对应着Tests文件夹,存放着Tests代码的配置文件。

Excluded:设置配出编译检查的文件,例如我们在project模块设置的out文件夹。

Paths

 

Paths:为模块配置编译器输出路径,还可以指定与模块关联的外部JavaDocs和外部注释的位置。

  • Compiler output:编译输出路径。
    •  1. Inherit project compile output path:继承项目编译输出路径 选择此选项以使用为项目指定的路径。即上面在Project选项中设置的out文件路径。
    •  2. Use module compile output path:使用模块编译输出路径。
    • Output path:编译输出路径。
    •  Test output path:测试代码编译输出路径。
    •  Exclude output paths: 排除输出路径,选中此复选框可以排除输出目录。
  • JavaDoc:使用可用控件组合与模块关联的外部JavaDocs存储位置的列表。
  • External Annotations:外部注释。使用+和 -  管理与模块关联的外部注释的位置(目录)列表。

Dependencies

Dependencies:在此选项卡上,您可以定义模块SDK并形成模块依赖关系列表。

  • Module SDK:模块SDK,选择模块SDK。

要将项目SDK与模块相关联,请选择Project SDK。请注意,如果稍后更改了项目SDK,模块SDK将相应更改。
如果所需SDK不在列表中,请单击“ 新建”,然后选择所需的SDK类型。然后,在打开的对话框中,选择SDK主目录,然后单击确定。
要查看或编辑所选SDK的名称和内容,请单击编辑。(SDK页面将打开。)

  • 当前模块依赖列表
  • 相关性存储格式,选择用于存储依赖关系的格式(作为IntelliJ IDEA模块或Eclipse项目)。该选项对使用不同开发工具的团队有帮助。

3.Libraries面板介绍

  • 项目中的External Liraries依赖库列表 在Libraries依赖库列表都能看到

 

  •  首先,可以创建一个新的项目库,可以设置分类。
  • 可以添加本地jar包,网络来源的jar包,排除jar包,删除jar包。

4.Facets面板介绍

 

  • 表示这个 module 有什么特征,比如 Web,Spring 和 Hibernate 等; 

5.Artifacts 面板介绍

Artifact 是 maven 中的一个概念,表示某个 module 要如何打包,例如 war exploded、war、jar、ear 等等这种打包形式;
一个 module 有了 Artifacts 就可以部署到应用服务器中了!
在给项目配置 Artifacts 的时候有好多个 type 的选项,exploed 是什么意思?
explode 在这里你可以理解为展开,不压缩的意思。也就是 war、jar 等产出物没压缩前的目录结构。建议在开发的时候使用这种模式,便于修改了文件的效果立刻显现出来。默认情况下,IDEA 的 Modules 和 Artifacts 的 output 目录 已经设置好了,不需要更改,
打成 war 包 的时候会自动在 WEB-INF 目录 下生产 classes 目录 ,然后把编译后的文件放进去。 

6.SDKs

 

  • 系统开发工具 ,全局 SDK 配置 。 

7.Global libraries

  • 全局类库,可以配置一些常用的类库。

8.Problems

问题,在项目异常的时候很有用,可以根据提示进行项目修复(FIXED)。  

### 回答1: 感谢您的提问,这是一个技术问题,我可以为您提供以下步骤: 1. 在IDEA中打开您的项目,找到需要导出的某个模块的POM文件。 2. 将要导出的模块中的pom.xml文件中的packaging标签设置为jar。 3. 在pom.xml文件中添加以下代码来生成jar文件: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.1.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>com.xxx.XXX</mainClass> </manifest> <manifestEntries> <Build-Date>${maven.build.timestamp}</Build-Date> <Build-Jdk>${java.version}</Build-Jdk> <Build-By>${user.name}</Build-By> </manifestEntries> </archive> </configuration> </plugin> </plugins> </build> 4. 在命令行窗口中进入该模块的根目录,使用以下命令打包: mvn clean package 5. 完成后,您将在项目的target目录下找到生成的jar文件。 6. 将生成的jar文件复制到您要使用此模块项目的lib目录中。 7. 在您的项目中添加以下代码到该模块的POM文件中: <dependency> <groupId>com.xxx</groupId> <artifactId>xxxxx</artifactId> <version>1.0.0</version> </dependency> 8. 在调用该模块的代码中,您可以像使用普通类一样使用该模块中的类。 希望这些步骤对您有帮助,如有疑问请在评论区留言。 ### 回答2: 要使用 IntelliJ IDEA 打包项目的某个模块供别的项目调用,可以按照以下详细的流程: 1. 打开 IntelliJ IDEA,选择要打包的项目。 2. 在项目导航栏中,找到并选中要打包的模块。 3. 在顶部菜单栏中,选择 "Build" -> "Build Artifacts" -> "Build"。 4. 在弹出的对话框中,选择要打包的目标平台,例如 "JAR" 或者 "WAR"。 5. 配置打包选项。根据项目需求,在对话框中设置合适的选项,如输出路径、压缩级别等。 6. 点击 "OK" 开始打包。 7. 打包完成后,在输出路径中找到生成的打包文件(例如生成的 JAR 文件)。 8. 在你想要使用这个模块项目中,将生成的打包文件拷贝到合适的位置。 9. 在目标项目的 build.gradle 文件中,添加对该模块依赖: ```groovy dependencies { implementation files('<path-to-file>/module.jar') // 根据实际路径修改 } ``` 10. 使用 Gradle 或者 Maven 进行项目构建即可。 使用以上流程可以将一个模块打包为 JAR 文件,并在其他项目中引入该 JAR 文件作为依赖。在目标项目中进行构建后,就可以使用该模块提供的功能。 ### 回答3: 要使用idea打包项目的某个模块供其他项目调用,可以按照以下步骤进行操作: 1. 打开idea导入目标项目。 2. 打开项目结构:点击"File"菜单,选择"Project Structure"(或使用快捷键Ctrl+Alt+Shift+S)。 3. 在左侧面板中选择"Modules"选项卡,找到目标模块并选中。 4. 在右侧面板中,选择"Output"选项卡,找到"Output path"设置框,并记下该路径(如"project/moduleName/target")。 5. 确保已经配置好构建工具,如Maven或Gradle,确保项目能够成功构建。 6. 在命令行或终端中,进入项目根目录,并执行构建命令(如mvn clean package)来生成目标模块的可运行文件。 7. 构建完成后,进入目标模块的输出目录(即输出路径中记下的路径),找到生成的可运行文件(如.jar文件)。 8. 将生成的可运行文件复制到目标模块的输出目录中,确保与项目结构保持一致。 9. 在需要使用该模块项目中打开idea,并导入目标项目。 10. 打开项目结构,并在左侧面板的"Modules"选项卡中,选择需要引用目标模块模块。 11. 在右侧面板中,点击"Dependencies"选项卡,然后点击"+"按钮,选择"JARs or directories"。 12. 在弹出的对话框中,找到目标模块的输出目录,并选择目标模块的可运行文件(如.jar文件)。 13. 确认选择后,点击"Apply"和"OK"按钮保存设置。 14. 现在,你可以在你的项目中使用目标模块的功能了。 以上是使用idea打包项目的某个模块供其他项目调用的详细流程。请注意,在进行这些操作之前,确保已经在各个项目中正确配置并使用相同的构建工具,以确保项目依赖关系能够正确解析和引用
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值