IDEA中的Project工程、Module模块的概念及创建导入

1、IDEA中的层级关系:

    project(工程) - module(模块) - package(包) - class(类)/接口

具体的:

    一个project中可以创建多个module

    一个module中可以创建多个package

    一个package中可以创建多个class/接口

2、Project和Module的概念:

在这里插入图片描述

在 IntelliJ IDEA 中Project是 最顶级的结构单元 ,然后就是Module。目前,主流的大型项目结构基本都是多Module的结构,这类项目一般是 按功能划分 的,比如:user-core-module、user-facade-module和user-hessian-module等等。模块之间彼此可以 相互依赖 ,有着不可分割的业务关系。因此,对于一个Project 来说:

  • 当为单Module项目的时候,这个单独的Module实际上就是一个Project。
  • 当为多Module项目的时候,多个模块处于同一个Project之中,此时彼此之间具有互相依赖 的关联 关系。
  • 当然多个模块没有建立依赖关系的话,也可以作为单独一个“小项目”运行。
    建议创建“Empty空工程”,然后创建多模块

3、创建Project:

在这里插入图片描述
在这里插入图片描述
这样就创建好了:

这样就创建好了:
如果我们选择的是创建空工程的话:

在这里插入图片描述
就会是这样的效果:

在这里插入图片描述

4、创建Module:

在这里插入图片描述
你可以把本身的工程就看作是一个模块!!我们可以在工程下面直接写具体的代码,但是我们通常都是创建空工程,然后创建Module,在Module中写具体的代码:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、删除Module:

删除Moudle分为两步:(1)移除模块
在这里插入图片描述
remove后:

在这里插入图片描述
module02文件夹现在还存在:
在这里插入图片描述
在这里插入图片描述
(2)彻底删除模块:

在这里插入图片描述
在这里插入图片描述

现在磁盘中也没有了:

在这里插入图片描述

6、导入Module:

想把另一个工程的某个模块导入到我自己的工程下面来,作为一个module存在,该怎么办呢:

第一步:
在这里插入图片描述
第二步:

    将老师的模块 teacher_chapter04 整个的复制到自己IDEA项目的路径下:

在这里插入图片描述

在这里插入图片描述
注意,现在只是一个普通的文件夹!!!!

第三步:

    接着打开自己IDEA的项目,会在项目目录下看到拷贝过来的module,

                    只不过不是以模块的方式呈现:只是一个普通的文件夹

在这里插入图片描述
第三步:

    接着打开自己IDEA的项目,会在项目目录下看到拷贝过来的module,

                    只不过不是以模块的方式呈现:只是一个普通的文件夹

在这里插入图片描述
第四步: 查看Project Structure,选择import module

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第五步: 接着可以一路Next下去,最后选择Overwrite

在这里插入图片描述
在这里插入图片描述
第六步: 现在在工程目录中已经呈现为一个module了,成功导入进来了:

在这里插入图片描述
最后点击OK即可了。

7、导入Module时的中文乱码问题:

我们项目的整体结构采用的是UTF-8编码:

在这里插入图片描述
但是如果我们导入的模块中, 那个模块里的类采用的是别的编码方式,如GBK编码,那我们就要采用”一国两制“制度,即整体项目的编码为utf-8,但是那个单独的模块采用GBK编码:

在这里插入图片描述
打开其中各个源文件,会发现有乱码。比如:

在这里插入图片描述
单独把这个模块设置为GBK编码的:

在这里插入图片描述
单独对这个模块使用GBK:

在这里插入图片描述

8、工程中的JDK配置情况:

查看当前工程的结构:
在这里插入图片描述
在这里插入图片描述
如果你的电脑里还有其他版本的JDK,你可以选择➕添加:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9 导入的modul转换为mven 项目

1.首先对比一下普通项目和maven项目的pom.xml文件的区别

在这里插入图片描述
2.将普通的项目转为maven项目
只需右键pom.xml选择add as maven project
在这里插入图片描述
3.看一下改变后的效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/460379.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue3模块化引用组件和引用ts,调用ts中的接口

以简单的登录功能为例子 1.在util中创建loginValidators.ts import { ref, reactive } from vueinterface User{email: string;password: string; }export const loginUserreactive<User>({email: ,password: })interface Rules{email: {required: boolean;message: …

Html提高——HTML5 新增的语义化标签

引入&#xff1a; 以前布局&#xff0c;我们基本用 div 来做。div 对于搜索引擎来说&#xff0c;是没有语义的。 但是在html5里增加了语义化标签&#xff0c;如 <header>&#xff1a;头部标签 <nav>&#xff1a;导航标签 <article>&#xff1a;内容标签 &…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:ListItem)

用来展示列表具体item&#xff0c;必须配合List来使用。 说明&#xff1a; 该组件从API Version 7开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。该组件的父组件只能是List或者ListItemGroup。 子组件 可以包含单个子组件。 接口 从API…

[江苏工匠杯]easyphp

先看源码 <?php highlight_file(__FILE__); $key1 0; $key2 0; ​ $a $_GET[a]; $b $_GET[b]; ​ if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($b),-6,6)){$key1 1;}else{die("…

遗传算法及基于该算法的典型问题的求解实践

说明 遗传算法是一个很有用的工具&#xff0c;它可以帮我们解决生活和科研中的诸多问题。最近在看波束形成相关内容时了解到可以用这个算法来优化阵元激励以压低旁瓣&#xff0c;于是特地了解和学习了一下这个算法&#xff0c;觉得蛮有意思的&#xff0c;于是把这两天关于该算法…

大模型训练准备工作

一、目录 1 大模型训练需要多少算力&#xff1f; 2. 大模型训练需要多少显存&#xff1f; 3. 大模型需要多少数据量训练&#xff1f; 4. 训练时间估计 5. epoch 选择经验 6. 浮点计算性能测试 二、实现 1 大模型训练需要多少算力&#xff1f; 训练总算力&#xff08;Flops&…

分割等和子集 最后一块石头的重量II 目标和

416. 分割等和子集 力扣题目链接 本题中每一个元素的数值既是重量&#xff0c;也是价值。 dp[j]表示 背包总容量&#xff08;所能装的总重量&#xff09;是j&#xff0c;放进物品后&#xff0c;背的最大重量为dp[j] 如果背包容量为target&#xff0c; dp[target]就是装满 背…

helm部署hadoop

&#xff08;作者&#xff1a;陈玓玏&#xff09; 参考helm仓库的文档&#xff1a;https://artifacthub.io/packages/helm/apache-hadoop-helm/hadoop helm helm repo add pfisterer-hadoop https://pfisterer.github.io/apache-hadoop-helm/ helm install hadoop pfistere…

机器学习 --- 模型评估、选择与验证

Java实训代码、答案&#xff0c;如果能够帮到您&#xff0c;希望可以点个赞&#xff01;&#xff01;&#xff01; 如果有问题可以csdn私聊或评论&#xff01;&#xff01;&#xff01;感谢您的支持 第1关&#xff1a;为什么要有训练集与测试集 1、下面正确的是&#xff1f;&…

升入理解计算机系统学习笔记

磁盘存储 磁盘是广为应用的保存大量数据的存储设备&#xff0c;存储数据的数量级可以达到几百到几千千兆字节&#xff0c;而基于RAM的存储器只能有几百或几千兆字节。不过&#xff0c;从磁盘上读信息的时间为毫秒级&#xff0c;比从DRAM读慢了10万倍&#xff0c;比从SRAM读慢了…

《剑指 Offer》专项突破版 - 面试题 79 ~ 84 : 详解回溯法(C++ 实现)

目录 一、回溯法的基础知识 二、集合的排列、组合 面试题 79 : 所有子集 面试题 80 : 包含 k 个元素的组合 面试题 81 : 允许重复选择元素的组合 面试题 82 : 包含重复元素集合的组合 面试题 83 : 没有重复元素集合的全排列 面试题 84 : 包含重复元素集合的全排列 一、…

wsl中安装虚拟环境virtualenv,pycharm中配置wsl解释器

wsl 中安装虚拟环境 virtualenv 注意&#xff1a; 不能将虚拟环境安装到 /root 目录下&#xff0c;在 window 文件管理中&#xff0c;没有权限访问 wsl 中的 /root 目录 安装虚拟环境 sudo pip install virtualenv sudo pip install virtualenvwrapper配置环境变量 1、创建…

基于单片机的指纹打卡机设计

摘要 在科学技术飞速发展的今天&#xff0c;社会对身份识别的要求越来越高&#xff0c;尤其是在企业管理的人员签到、工作考勤等活动中对身份识别的高效性和可靠性的需求更为迫切。而传统的个人身份识别手段&#xff0c;如钥匙、密码、IC卡等&#xff0c;由于具有可盗用、可伪…

深入理解TCP:序列号、确认号和自动ACK的艺术

深入理解TCP&#xff1a;序列号、确认号和自动ACK的艺术 在计算机网络的世界里&#xff0c;TCP&#xff08;传输控制协议&#xff09;扮演着至关重要的角色。它确保了数据在不可靠的网络环境中可靠地、按顺序地传输。TCP的设计充满智慧&#xff0c;其中序列号&#xff08;Seq&a…

续上篇 qiankun 微前端配置

上篇文章地址&#xff1a;微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】-CSDN博客 主应用&#xff1a; src/main.js 配置&#xff1a; import Vue from vue import App from ./App.vue import router from ./router import { registerMicroApps, start } …

Jenkins内部使用Docker

修改docker.sock文件权限 路径在&#xff1a;/var/run/docker.sock 进入/var/run目录下 修改docker.sock文件权限&#xff0c;且让其他用户也可以读写。 cd /var/run chown root:root docker.sock chmod orw docker.sock 修改数据卷映射 切换到你Jenkins的docker-compose.…

Verdaccio部署及基础使用

1. Verdaccio 简介 Verdaccio&#xff0c;是一个轻量级的 npm 私有仓库的开源解决方案。npm是一个基于http的协议&#xff0c;用来存放软件包并且维护版本和依赖&#xff0c;利用 http 提供的 url路径 来对软件包进行增删改查。所以 Verdaccio 这款软件的核心就是实现 npm协议…

淘宝商品销量数据接口,淘宝API接口

淘宝商品销量数据接口是淘宝开放平台提供的一种API接口&#xff0c;通过该接口&#xff0c;商家可以获取到淘宝平台上的商品销量数据。 淘宝商品销量数据接口可以用于获取特定商品的销量数据、特定店铺的销量数据、特定类目的销量数据等。商家可以根据自己的需求来调用该接口&…

Gitlab部署及使用

1. 简介 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用 Git 作为代码管理工具&#xff0c;并在此基础上搭建起来的Web服务。Gitlab是目前被广泛使用的基于 git 的开源代码管理平台&#xff0c;基于Ruby on Rails构建&#xff0c;主要针对软件开发过程中产生的代码…

phpcms头像上传漏洞引发的故事

目录 关键代码 第一次防御 第一次绕过 第二次防御 第二次绕过 第三次防御 第三次绕过 如何构造一个出错的压缩包 第四次防御 第四次绕过 本篇文章是参考某位大佬与开发人员对于文件包含漏洞的较量记录下的故事&#xff0c;因为要学习文件包含漏洞&#xff0c;就将大佬…