好的,以下是附录部分的完整内容,并附上详细的注释说明:
附一:完整的 pom.xml
配置
<?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> <!-- Maven 模型的版本 -->
<groupId>com.ithero</groupId> <!-- 项目的组织 ID -->
<artifactId>maven-usermanager</artifactId> <!-- 项目的唯一标识 -->
<version>1.0-SNAPSHOT</version> <!-- 项目的版本号 -->
<packaging>war</packaging> <!-- 项目的打包方式,这里是 war 包 -->
<!-- 依赖版本统一管理 -->
<properties>
<junit.version>4.13</junit.version> <!-- JUnit 版本 -->
<servlet.version>3.0.1</servlet.version> <!-- Servlet API 版本 -->
<jsp.version>2.3.3</jsp.version> <!-- JSP API 版本 -->
<beanutils.version>1.8.3</beanutils.version> <!-- BeanUtils 版本 -->
<commons.logging.version>1.1.1</commons.logging.version> <!-- Commons Logging 版本 -->
<jstl.version>1.2</jstl.version> <!-- JSTL 版本 -->
<log4j.version>1.2.17</log4j.version> <!-- Log4j 版本 -->
<mabatis.version>3.5.0</mabatis.version> <!-- MyBatis 版本 -->
<mysql.version>5.1.18</mysql.version> <!-- MySQL 驱动版本 -->
</properties>
<!-- 依赖管理 -->
<dependencies>
<!-- JUnit 依赖 -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version> <!-- 使用 properties 中定义的版本 -->
<scope>test</scope> <!-- 作用范围:仅测试时需要 -->
</dependency>
<!-- Servlet API 依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.version}</version>
<scope>provided</scope> <!-- 作用范围:编译和测试时需要,运行时由容器提供 -->
</dependency>
<!-- JSP API 依赖 -->
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>${jsp.version}</version>
<scope>provided</scope>
</dependency>
<!-- BeanUtils 依赖 -->
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>${beanutils.version}</version>
</dependency>
<!-- Commons Logging 依赖 -->
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons.logging.version}</version>
</dependency>
<!-- JSTL 依赖 -->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>${jstl.version}</version>
</dependency>
<!-- Log4j 依赖 -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<!-- MyBatis 依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${mabatis.version}</version>
</dependency>
<!-- MySQL 驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
<scope>runtime</scope> <!-- 作用范围:运行时需要,编译时不需要 -->
</dependency>
<!-- FastJSON 依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
</dependencies>
<!-- 插件管理 -->
<build>
<plugins>
<!-- JDK 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- 源代码编译版本 -->
<target>1.8</target> <!-- 目标代码编译版本 -->
<encoding>UTF-8</encoding> <!-- 编码格式 -->
</configuration>
</plugin>
<!-- Tomcat 插件 -->
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>80</port> <!-- Tomcat 运行端口 -->
<path>/</path> <!-- 项目访问路径 -->
</configuration>
</plugin>
</plugins>
</build>
</project>
附二:清理 Maven 仓库
在 Maven 项目中,如果依赖下载不完整,可能会生成以 lastUpdated
结尾的文件。这些文件会导致 Maven 无法重新下载依赖,需要手动清理。
-
这是 Windows 批处理脚本(Batch Script),用于在 Windows 操作系统上执行一系列命令。批处理脚本通常以
.bat
或.cmd
为扩展名,可以直接在命令提示符(Command Prompt)或 PowerShell 中运行。set REPOSITORY_PATH=D:\DevTools\Apache\Maven\apache-maven-3.6.0\maven_repository rem 正在搜索... for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %%i ) rem 搜索完毕 pause
脚本功能解析
set REPOSITORY_PATH=D:\DevTools\Apache\Maven\apache-maven-3.6.0\maven_repository
set
:设置一个环境变量。REPOSITORY_PATH
:变量名,表示 Maven 本地仓库的路径。D:\DevTools\Apache\Maven\apache-maven-3.6.0\maven_repository
:变量值,表示 Maven 本地仓库的实际路径。
rem 正在搜索...
rem
:注释命令,用于在脚本中添加注释,解释代码的功能。
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %%i )
for /f "delims=" %%i in (...) do (...)
:循环命令,用于遍历指定目录下的文件。/f
:表示处理文件。delims=
:表示不分割文件名。%%i
:循环变量,表示当前文件的路径。dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"
:递归查找指定目录下所有以lastUpdated
结尾的文件。/b
:以简洁模式显示文件名(仅文件名)。/s
:递归搜索子目录。"%REPOSITORY_PATH%\*lastUpdated*"
:搜索路径和文件名模式。
del /s /q %%i
:删除找到的文件。/s
:递归删除子目录中的文件。/q
:静默模式,不提示确认删除。
rem 搜索完毕
rem
:注释命令,表示搜索操作已完成。
pause
pause
:暂停脚本执行,等待用户按任意键继续。通常用于在脚本执行完毕后,防止命令提示符窗口立即关闭。
脚本功能总结
这个批处理脚本的主要功能是:
- 设置 Maven 本地仓库的路径。
- 递归搜索本地仓库中所有以
lastUpdated
结尾的文件。 - 删除这些文件。
- 暂停脚本执行,等待用户操作。
适用场景
在 Maven 项目中,如果依赖下载不完整,可能会生成以
lastUpdated
结尾的文件。这些文件会导致 Maven 无法重新下载依赖,因此需要手动清理。这个脚本可以帮助开发者快速清理 Maven 本地仓库中的残留文件。
附三:更新依赖索引
在 IDEA 中配置完 Maven 仓库后,可能需要手动更新依赖索引,以确保 IDEA 能够正确识别仓库中的 Jar 包。
操作步骤:
- 打开 IDEA 设置。
- 搜索
Maven
->Repositories
。 - 选择本地仓库,点击
Update
。
附四:JDK 插件配置
在 Maven 项目中,可以通过配置 JDK 插件来指定编译版本。
配置示例:
<build>
<plugins>
<!-- JDK 编译插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- 源代码编译版本 -->
<target>1.8</target> <!-- 目标代码编译版本 -->
</configuration>
</plugin>
</plugins>
</build>
说明:
source
:指定源代码的编译版本。target
:指定生成的字节码的版本。
附五:配置 IDEA 模板
在 IDEA 中,可以通过配置模板来快速生成代码。
操作步骤:
- 打开 IDEA 设置。
- 搜索
File and Code Templates
。 - 选择模板类型(如
Class
),添加自定义模板。
附六:优先使用本地仓库
在某些情况下,Maven 可能会优先从远程仓库下载依赖,而不是使用本地仓库。可以通过以下配置解决此问题。
配置方法:
在命令行中添加参数:
-DarchetypeCatalog=internal
说明:
-DarchetypeCatalog=internal
:指定 Maven 优先使用本地仓库中的 archetype 信息。
以上是附录部分的完整内容,并附上了详细的注释说明。希望这些内容能够帮助你更好地理解和使用 Maven!
标签:maven,version,%%,项目管理,lastUpdated,Maven,仓库,详解 From: https://www.cnblogs.com/itcq1024/p/18613663